li的inline-block出現間隙原因,解決方案


<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>

 


免責聲明!

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



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