Joh*_*ohn 19 html doctype image
我用xhtml 1.0和html 4.01 STRICT创建了一个新文档,以便将其隔离开来.我所拥有的只是:
<div style="border: blue 3px solid;">
<img src="testimage.jpg" width="800" height="400">
</div>
Run Code Online (Sandbox Code Playgroud)
结果是正常的,但如果我将doctype更改为transitional,则图像下方的5px空间会消失.如果我将display:block设置为图像,它也会消失.
你可以在这里看到结果(我知道右侧的空白是正常的,因为它是一个块元素):http://i52.tinypic.com/2prd1jd.jpg
我尝试将margin/padding设置为0,即使这样:
*
{
margin: 0; padding: 0;
}
Run Code Online (Sandbox Code Playgroud)
但它仍然是一样的.
任何人都可以解释这种行为吗?
Jam*_*gne 42
它与图像的垂直对齐有关.试试这个:
img{
vertical-align: top;
}
Run Code Online (Sandbox Code Playgroud)
这个空间会消失.
为了澄清,如果您在图像旁边放置一些文字,您将看到问题.图像与文本的底部对齐,但y和g之类的字母将在该行的下方.额外的空间用于那些悬垂的字母.
这是因为,如@Pawel所述,“默认情况下,图像是内联渲染的”。由于它是“内联”,因此在下面将为'g,j,q,y'等字符提供一些空格。
因此,另一种解决方案是将图像设置为块:
img {
display:block;
}
Run Code Online (Sandbox Code Playgroud)
一个例子在这里:https : //gist.github.com/MrCoder/450783bc33d6b412075d