float元素浮动后高度不一致导致错位的解决办方法
(编辑:jimmy 日期: 2024/11/17 浏览:3 次 )
当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>
在这里,程序循环时,添加个if判断即可。
但是当高度不一致时,就需要想别的办法来解决了:
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>
在这里,程序循环时,添加个if判断即可。
下一篇:float:left的对象(导航)如何居中示例探讨