如果我将img的大小设置为100*100,包含它的div会变成100*106。
这额外的“6px”是从哪里来的?这个行为如何符合标准?
@clyde; 是的,这是图片的自然行为,因为img是内联元素,所以用户代理会留出一些空间给降部字符。
你可以使用CSS去除它:
img { display:block; } or img { vertical-align:bottom; }
想了解更多,请查看以下内容
https://developer.mozilla.org/en/Images,_Tables,_and_Mysterious_Gaps
img
元素位于锚点(a
元素)内部,因此可能会对其应用其他样式,导致锚点占用的空间比仅有图像时更大。您可以尝试使用a img { border: none; } a:link {text-decoration: none; border: none}
。 - Mikko Rantalainen我认为我们需要更多的代码,特别是CSS样式,但是CSS的级联部分可以很容易地将继承的大小向下流动。如果您的A具有一些额外的填充或边距样式,那么最终的DIV也会得到它。而且A是一个内联元素,通常会添加填充以预期更多内容;将A转换为块通常可以解决这些问题,因此我建议首先尝试这种方法。