float元素浮动后高度不一致导致错位的解决办方法

当N个元素浮动后,会导致错位的问题。一般给元素一个固定的height就没有这个现象。 


但是当高度不一致时,就需要想别的办法来解决了: 


1、给父元素定义font-size:0; 浮动子元素定义需要的font-size, 再定义display:inline-block;vertical-align:top; 

ul{ 
margin:0; 
padding:0; 
list-style-type:none; 
font-size:0; 
} 
ul li{ 
width:160px; 
display:inline-block; 
vertical-align:top; 
font-size:12px; 
}

2、给换行后的第一个li添加clear:left 如:

ul li{float:left;width:160px;} 
.c{clear:left;} 
<li>1</li> 
<li>2</li> 
<li>3</li> 
<li class="c">4</li> 
<li>5</li> 
<li>6</li>



当多个图片排列的时候,道理是一样的。

.ReadConPics{ background: #fff; overflow: hidden; border:none; padding: 0; margin: 0; border-top: 1px solid #d2d2d2;font-size:0;  }
.ReadConPics img{width: 48%;vertical-align:top; padding: 1%; overflow:hidden; display:inline-block;}

HTML:

<div class="ReadConPics">
		<a href="images/read1-1.jpg" data-size="920x1440" data-med="images/read1-1.jpg" data-med-size="920x1440">
			<img src="images/read1-1.jpg" alt="">	  
		</a>
		<a href="images/read1-2.jpg" data-size="920x1440" data-med="images/read1-2.jpg" data-med-size="920x1440">
			<img src="images/read1-2.jpg" alt="">	  
		</a>	
		<a href="images/read1-3.jpg" data-size="920x1440" data-med="images/read1-3.jpg" data-med-size="920x1440">
			<img src="images/read1-3.jpg" alt="">	  
		</a>
		<a href="images/read1-4.jpg" data-size="920x1440" data-med="images/read1-4.jpg" data-med-size="920x1440">
			<img src="images/read1-4.jpg" alt="">	  
		</a>	
</div>