解決div里面img的縫隙問題


【本文轉載自http://blog.sina.com.cn/s/blog_9fd5b6df01013mld.html】

圖片IMG與容器下邊界之間有空隙怎么辦?這里介紹3中簡單的解決方法。

  第一,給圖片img標簽display:block。

  img{display:block}

  第二,定義容器里的字體大小為0。

  div {

  width:110px;

  border:1px solid #000000;

  font-size:0}

  第三,定義圖片img標簽vertical-align:bottom,vertical-align:middle,vertical-align:top

  img{vertical-align:bottom}

  其他還有把圖片下邊距設為負值和改寫HTML標簽的排列。我覺得前三種就完全可以解決了。

  造成圖片在IE下與容器下邊界有空隙的原因

  在網上搜了一下,發現old9說的

  圖片文字等inline元素默認是和父級元素的baseline對齊的,而baseline又和父級底邊有一定距離(這個距離和 font-size,font-family 相關,不一定是 5px),所以設置 vertical-align:top/bottom/text-top/text-bottom 都可以避免這種情況出現。而且不光li,其他的block元素中包含img也會有這個現象。

  至於這里的HTML屬性align=”center”(對於圖片瀏覽器會處理成align=”middle”),就相當於vertical-align:middle; 所以道理也是一樣的,只要vertical-align不取baseline,這個空隙就消失了。

  相關評論

  1.ie的顯示有幾種模式,在html文檔的開始部分聲明<!DOCTYPE &hell;ip;.>

  假如聲明為strict模式,ie以w3c的方式顯示文檔,而w3c的標准里面<img />默認是一個inline的標簽,除非自己顯式的聲明為 block

  2.那個空隙是ie針對盒模型默認的line-height和font-size. 給img desplay:block;雖然能解決問題,但沒從結構上來考慮.可謂治標不治本


免責聲明!

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



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