<style type="text/css">
body{
margin:0 0;
padding:0 0;
font-size: 14;
text-decoration:none;
}
ul{
padding:0;
margin:0;
font-size:0px;
}
li{
display:inline-block;
font-size: 14px;
min-height:50px;
width:100px;
*background-color:#c90;
border:1px dotted red;
display:-moz-inline-stack;/*火狐2不支持inline-block屬性所以加火狐獨有屬性,效果類似inline-block*/
vertical-align:baseline;/*默認就是baseline,可以不設置,注意:一行內元素垂直方式為基線*/
zoom:1;/*IE6,7 不支持屬性inline-block屬性,zoom:1是觸發IE元素的haslayout,使元素擁有布局,觸發后haslayout=-1,然后設置*dispaly:inline,IE6,7支持屬性前加(*)《獨有》,參考另一篇博客 ,IE,6,7,haslayout=-1的情況下display:inline(內聯),相當於其他瀏覽器下的line-block(塊級元素行內排列),按W3C標准,內聯元素內不可出現塊級元素 */
*display:inline;
_height: 250px;/*IE 6 不支持min-height:250px;其他瀏覽器會忽略_height:,參考另一票博客,IE6支持屬性前加(*或_) ,IE7支持屬性前加(*或+),其他瀏覽器則忽略 */
}
</style>
這種css 設置下li標簽行內排列時,相互之間出現間隙,如圖
<body> <div> <ul> <li><div>1</div></li> <li><div>2</div></li> <li><div>1</div></li> <li><div>1</div></li> <li><div>1</div></li> <li><div>1</div></li> <li><div>1</div></li> </ul> <div> </body>
由於字體的設置導致出線間隙,把父節點ul {font-size:0px;} 設置為0,然后li中重新設置字體大小則可以去掉之間的間隙。這種方法不支持safari瀏覽器,其他瀏覽器則兼容。
所以我們加一些樣式來兼容safari
word-space:-4px;字體間隔,可以兼容safari,但是這時候Chrome下li就會合在一起,如圖:

兩個li合在一起,這時候就用display:table;使Chrome達到兼容,最終解決方案就是
<style type="text/css">
body{
margin:0 0;
padding:0 0;
font-size: 14;
text-decoration:none;
}
ul{
padding:0;
margin:0;
font-size:0px;
word-spacing:-4px;/*兼容蘋果的瀏覽器*/
display:table;/*word-spacing用的情況下,谷歌li交錯。目的:在使用word-spacing:-N的時候兼容谷歌*/
}
li{
word-spacing:normal;
display:inline-block;
font-size: 14px;
min-height:50px;
width:100px;
*background-color:#c90;
border:1px dotted red;
display:-moz-inline-stack;/*火狐2不支持inline-block屬性所以加火狐獨有屬性,效果類似inline-block*/
vertical-align:baseline;/*默認就是baseline,可以不設置,注意:一行內元素垂直方式為基線*/
zoom:1;/*IE6,7 不支持屬性inline-block屬性,zoom:1是觸發IE元素的haslayout,使元素擁有布局,觸發后haslayout=-1,然后設置*dispaly:inline,IE6,7支持屬性前加(*)《獨有》,參考另一篇博客 ,IE,6,7,haslayout=-1的情況下display:inline(內聯),相當於其他瀏覽器下的line-block(塊級元素行內排列),按W3C標准,內聯元素內不可出現塊級元素 */
*display:inline;
_height: 250px;/*IE 6 不支持min-height:250px;其他瀏覽器會忽略_height:,參考另一票博客,IE6支持屬性前加(*或_) ,IE7支持屬性前加(*或+),其他瀏覽器則忽略 */
}
</style>
