img與div(block類型元素)下邊界有距離(或者叫縫隙、空隙)。
解決方案:
法寶一:給圖片img標簽display:block
法寶二:定義圖片img標簽vertical-align:bottom,vertical-align:middle,vertical-align:top。
img{vertical-align:bottom;}
至於HTML屬性align="center"(對於圖片瀏覽器會處理成align="middle")的解決辦法,就相當於vertical-align:middle; 所以道理也是一樣的,只要vertical-align不取baseline,這個空隙就消失了。
法寶三:定義容器里的字體大小為0。
div {
width:110px;
border:1px solid #000000;
font-size:0
}
width:110px;
border:1px solid #000000;
font-size:0
}
據說原因:
圖片文字等inline元素默認是和父級元素的baseline對齊的,而baseline又和父級底邊有一定距離(這個距離和 font-size,font-family 相關),所以設置 vertical-align:top/bottom/text-top/text-bottom 都可以避免這種情況出現。而且不光li,其他的block元素中包含img也會有這個現象。
相關說明
1.ie的顯示有幾種模式,在html文檔的開始部分聲明<!DOCTYPE ....>
如果聲明為strict模式,ie以w3c的方式顯示文檔,而w3c的標准里面<img />默認是一個inline的標簽,除非自己顯式的聲明為 block
2.那個空隙是ie針對盒模型默認的line-height和font-size. 給img desplay:block;雖然能解決問題,但沒從結構上來考慮.可謂治標不治本.