div中放入一個img元素導致div高度會多出幾個像素


在寫代碼的時候經常遇到這樣一個問題,如果div里嵌套一個img元素且div的高度是由img的高度來撐開,那么div的高度總會比img的高度多3px。好了,廢話不多說,直接給大家上代碼。

html代碼:

<div id = "header"> <img src="img/header.png"/> </div>

css代碼:

#header{ width : 400px ; border : 1px solid #000 ; /* 為了方便觀察,此處給div加了1px的邊框 */ } #header img{ width: 100% ; }

運行結果如下圖:

 

可以明顯看到div實際高度高出img高度3px。為了解決此問題,我們只需要給img元素添加一個display : block ;即可,代碼如下:

#header img{ width : 100% ; display : block ; }

現在再來看運行結果,是不是完全變好了呢?

 

通過百度了解到原因,原來img是一種類似text的元素,在結束的時候,會在末尾加上一個空白符,所以就會多出3px,如果div包裹a標簽也會出現同樣的問題。

解決辦法有三種:

  1.設置div{ font-size: 0};將外層塊級標簽的font-size設置為0;

  2.設置img{ display: block};將內層行內標簽的display設置為block,將其變為塊級標簽;

  3.設置img{ vertical-align:top;};將內層行內標簽的vertical-align設置為top;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM