java fix float_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或者一个br,并且定义它的样式为clear: both。

CSS的方法--使用:after

/*需要用到的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;"

这是红框的层中的内容,对这个红框层

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值