经验交流

关注公众号 jb51net

关闭
首页 > 网络编程 > CSS/HTML > 经验交流 >

对于IE7、FF、OP清除浮动的最优方法

作者:

对于IE7、FF、OP清除浮动的最优方法
在CSS森林群里讨论一个margin的问题中无意间发现overflow也可以用来清除浮动,嘿嘿,这个方法不单使用简单,而且FF、OP、IE7都支持,从此可以告别那又长兼容性又差的FF清浮动的方法了。 

方法真的很简单,只要为需要清浮动的标签加上overflow这个属性。 
css代码
复制代码 代码如下:

ul{
list-style:none;
height:auto;
margin:0;p
adding:0;
background-color:#436973;
}
li{
float:left;
width:80px;
height:80px;
background-color:#83B1DF;
}
.demo{
clear:both;
border:1px solid #FF00FF;
margin-bottom:5px;
}
.overflow{
overflow:auto;
zoom:1;
background-color:#43FF73;
}
ul{
list-style:none;
height:auto;
margin:0;
padding:0;
background-color:#436973;
}
li{
float:left;
width:80px;
height:80px;
background-color:#83B1DF;
}
.demo{
clear:both;
border:1px solid #FF00FF;
margin-bottom:5px;
}
.overflow{
overflow:auto;
zoom:1;
background-color:#43FF73;
}

HTML代码
复制代码 代码如下:

<div class="demo"> 
<ul class="overflow"> 
<li>1</li> 
<li>2</li> 
<li>3</li> 
<li>4</li> 
<li>5</li> 
<li>6</li> 
<li>7</li> 
<li>8</li> 
<li>9</li> 
</ul> 
</div> 
<div class="demo"> 
<ul> 
<li>1</li> 
<li>2</li> 
<li>3</li> 
<li>4</li> 
<li>5</li> 
<li>6</li> 
<li>7</li> 
<li>8</li> 
<li>9</li> 
</ul> 
</div> 

其中zoom是为了IE6准备的。

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]


注:忘了一个很重要的内容,并不是所有的overflow属性都可起来一样的效果,比如visible属性就只能对IE起作用。例子可以看这里

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

        这样的话就有一个问题啦,如果要有高度,而且内容超出高度的时候,定义auto或hidden都可能会有一些不想要的效果出现。这里提供一个解决方案:对于IE6及以下版本的IE,可以直接定义高度;对于IE7、FF、OP,可定义min-height。 

CSS代码
复制代码 代码如下:

overflow  
{  
height:auto;  
_height:200px;  
min-height:200px;  
verflow:auto;  
zoom:1;  
_overflow:visible;  

您可能感兴趣的文章:
阅读全文