为什么<img/>标记在段落<p>中有一些奇怪的间距?
我在使用firebug时注意到了这一点,其中img可能比文本应该内联的位置高出4-5像素。
示例:http://jsbin.com/epavij
在这里,<a>标记围绕着<img/>,<a>在几个像素处占据了较小的空间。
显然,display:block修复了这个问题,但是是什么原因造成的呢?
为了论证起见,我计划让图像与一些文本保持一致;虽然我已经测试过,但是添加文本并不能解决这个问题。
发布于 2012-03-11 08:57:03
这是因为“基线”发生在内联元素上。“基线”是元素的默认vertical-align(如果我错了请更正),最显著的是内联元素(比如span和锚)
为了向你展示我的意思,试着把像"qfx“这样的文字放在图像旁边。您会注意到,图像的底部与"x“的底部是一致的。这是基线对齐--您的<img>标记就在上面。
但锚标签将占据"q“的底部。锚标签将占据超过基线,直到底部。
发布于 2012-03-11 08:54:23
要理解这种情况,可以将内联图像想象成来自不同字体/大小的字母。
接下来,请参阅这里的示例:http://phrogz.net/css/vertical-align/index.html
发布于 2012-03-11 08:57:27
这是由line-height和vertical-align的结合引起的。
快速示例:http://jsfiddle.net/3A3sw/1/
另见http://www.w3.org/wiki/CSS/Properties/vertical-align
https://stackoverflow.com/questions/9653586
复制相似问题