CSS中关于clearfix对float的使用
2012-03-16 22:09
288 查看
CSS中关于clearfix对float的使用
使用float时出现的问题
一个非常常见的CSS问题,定位使用浮动的时候,下面的层被浮动的层所覆盖,或者层里嵌套的子层超出了外层的范围。这是一个浮动在红框的层中的一个层
style="border:1px solid green;float:left;color:green;"
这是红框的层中的内容
解决的方法
陈旧的方法--使用clear:both
通常的解决办法是在浮动层后面添加一个额外元素,例如一个div或者一个br,并且定义它的样式为clear: both。这是一个浮动在红框的层中的一个层
style="border:1px solid green;float:left;color:green;"
这是红框的层中的内容,红框层后面还嵌入了一个没有内容的层<div style="clear:both;"></div>
通常的解决办法是在浮动层后面添加一个额外元素,例如一个div或者一个br,并且定义它的样式为clear: both。
CSS的方法--使用:after
这种方法在在文章《How To Clear Floats Without Structural Markup》中被提到。/*需要用到的CSS样式表的最初设想*/
.clearfix:after {
content: ".";
display: block;
height: 0;
clear: both;
visibility: hidden;
}
/*实际用到的CSS样式表(针对不同浏览器做了优化)*/
.clearfix:after {
content: ".";
display: block;
height: 0;
clear:both;
visibility: hidden;
}
.clearfix {display: inline-table;}
/* Hides from IE-mac \*/ *
html .clearfix {height: 1%;}
.clearfix {display: block;}
/* End hide from IE-mac */
这是一个浮动在红框的层中的一个层
style="border:1px solid green;float:left;color:green;"
这是红框的层中的内容,对这个红框层应用了上面提到的CSS类.clearfix
CSS的方法--使用overflow
前面的2种方法可以很好解决浮动超出的问题,但是如果当你真的需要对层或者层里的对象进行clear的时候怎么办?一种简单的方法就是用overflow属性,这个方法最初的发表在《Simple Clearing of Floats》,又在《Clearance》和《Super simple clearing floats》中被广泛讨论。
/*需要用到的CSS样式表的最初设想(对IE不起作用)*/
.clearfix2{overflow: auto}
/*实际用到的CSS样式表(针对不同浏览器做了优化)*/
.clearfix2{
_height:1%; /*height前面的下划线是必须的*/
overflow:auto;
}
这是一个浮动在红框的层中的一个层
style="border:1px solid green;float:left;color:green;"
这是红框的层中的内容,对这个红框层应用了上面提到的CSS类.clearfix2
相关文章推荐
- CSS中关于浮动(float)和清理(clear)的使用总结
- css关于float:right使用及靠右换行的解决办法
- 关于CSS中内层使用float导致外层的背景无法显示的问题的解决方法
- 关于CSS中float和position的使用
- 关于CSS中内层使用float导致外层的背景无法显示的问题的解决
- 关于CSS中float属性的理解
- 闲聊CSS之关于clearfix--清除浮动
- [译] 关于CSS中的float和position
- 关于使用struts2跳转后css和js失效的解决方式
- 关于CSS中的float和position
- CSS关于子元素设置了float属性后父元素高度为0的解释和解决方法
- 关于CSS中 星号*的使用介绍
- 解决子级对象使用css float浮动 而父级div不能自适应高度,不能被父级内容撑开解决方法,父级div没有高度解决方法
- 关于CSS中的float和position (父容器div内的子元素div为float时,父元素无法撑开(或高度自适应)的解决方式)
- 关于CSS三列Float布局任务
- CSS中float的使用说明
- CSS之关于clearfix--清除浮动
- 闲聊CSS之关于clearfix--清除浮动
- CSS之关于clearfix--清除浮动
- CSS关于子元素设置了float属性后父元素高度为0的解释和解决方法