float浮动元素出现错位或塌陷的原因及的解决方法

  • 一一得一
  • 技术分享
  • Mar 30, 2022

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


3、如果两个同级的元素发生了错位,就在两个元素之间添加一个空标签,比如:

<div class="clear"></div>

然后设置CSS属性:

.clear{

    clear:both;

}
 

4、如果是父子元素,而只给子元素添加了float,而父元素没有加float的话,会发生元素塌陷,解决方法:  (1)给父元素也加上相同的float就行。  (2)在父元素标签里面的最后一行加上上面那串代码。

如果是浮动引起的原因,这样子一般可以解决大多数问题。


打赏
  • 相关推荐