2011-02-01 51 views
9

沒有高度規格,僅包含單個圖像的<div>(或<p>或任何其他類似元素)比它高一點。它看起來在Firefox中高出4px,在Chrome中高出5px(根據Firebug及其鉻版等價物)。圖像下添加額外的空間。爲什麼塊級元素比它包含的圖像更高?

很明顯,我可以通過給div分配一個高度來解決這個問題,但我想知道爲什麼這個空間在那裏,而且有一種方法可以消除它。

回答

18

Image是內聯級別元素,因此它符合行高設置,並且默認情況下它將設置在文本的基線上。

如果將設置圖像具有vertical-align: bottom它將在下降線(文字線的最底端)

另一種選擇是將圖像設置爲display: block,並跳過所有這些內嵌噱頭圖像定位

6

加入CSS:

img {display: block;} 

默認情況下imgdisplay:inline因此,所有的文本行相關的東西。

+0

一般會在上面切換以阻止所有圖像,如果您只想指定 - 引入類選擇器或與父元素的關係 – gertas 2011-02-01 16:09:32

0

line-height: 0px;添加到包含元素的

img設置爲display:block也可以工作,但如果您在其他位置隱藏和顯示圖像display:none/display:inline,則可能會中斷。

相關問題