相对 div 内的绝对定位 firefox
我在相对定位的 div 中绝对定位图像时遇到问题。图像应位于 div 的中心。为此,我使用以下 css
div
{
position: relative;
top: 0px;
left: 0px;
}
div img
{
margin-top: -10px; /*img width is 20px*/
position: absolute;
top: 50%;
}
这在除 Firefox 之外的所有浏览器上都很有效。 有什么解决方法吗?因为我已经对此进行了很多搜索,但我无法弄清楚。
PS:不要对我说使用行高。因为图像旁边还有文字。所以这个选项对我来说不起作用。
I'm having trouble with absolute positioning an image in a relative positioned div. The image should be centered within the div. For this I use following css
div
{
position: relative;
top: 0px;
left: 0px;
}
div img
{
margin-top: -10px; /*img width is 20px*/
position: absolute;
top: 50%;
}
This works great on all browsers except Firefox.
Is there any workaround for this? Because i searched already a lot for this and i can't figure something out.
PS: Don't say to me to use line-height. Because there is also text next to the image. So this option will not work for me.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
对于您所说的图像
top:50%
。 50% 什么?它应该是父元素的 50%。父元素设置为什么?如果没有设置任何内容,那就是问题所在。For the image you say
top: 50%
. 50% of what? It should be 50% of the parent element. What is the parent element set to? If it's not set to anything, therein lies the problem.为什么不做这样的事情
图像的
relative
意味着距div
顶部的25%
和50%
> 对于左侧。why not do something like this
The
relative
for the image means25%
from the top of thediv
and50%
for the left side.如果您只想将图像放在那里,请尝试将其作为背景图像。
对于文本,在内部使用 div 并使用边距、填充或其他方式定位它。
Try putting it as a background image if you just want the image there.
and for the text use a div inside and position it using margin, padding or whatever.
自动边距怎么样:
这在 Firefox 7 中对我有用
How about auto margins:
This works for me in firefox 7
这是 CSS-Tricks 上关于该主题的一篇好文章:
http://css-tricks.com/snippets/css/absolute-center-vertical-horizontal-an-image/
This is a good article on the subject from CSS-Tricks:
http://css-tricks.com/snippets/css/absolute-center-vertical-horizontal-an-image/
测试一下:
Test this: