css:浮动 危害与解决

从开始接触div+css,就被前辈们告知:浮动不是个好东西,写浮动,必清浮动。然而,实际上到现在为止自己都没有一个完整的“浮动哪里坏”概念。这篇主要是总结性的东西,应该会不断的更新总结,具体的原理、讲解等,很多大神写的很好,在后面“参考”中均有,需要的朋友可以链接去看。

浮动,原本的作用是,文字环绕,后为布局所用。

危害:

高度塌陷

  1. 情况一:多个同级元素,前者设置浮动,则脱离标准流,”浮到上面”,后者会自动填补空白,造成叠加现象;
    解决办法:紧跟浮动元素后添加空盒子,并设置clear: both;

  2. 情况二:父级嵌套子集盒子,父级未设置宽高,子集浮动,则父级失去”被撑开的自身”物理空间;
    解决办法:父级设置overflow: hidden 或 atuo;

解决:

这也只是暂时最为合适的一个解决方案,相信随着技术的更新迭代,还会新的出现,或者已经出现了。

定义公共类 class = clearfix,设置为类 :after 和 *zoom兼容ie7/6,使用时,在含有浮动元素的父级添加即可

.clearfix:after{
    content: "";
    display: table;
    height: 0;
    visibility: both;
    clear: both;
}

.clearfix{
    *zoom: 1;  /*IE7/6*/
}

参考:
基础定义:
http://www.w3school.com.cn/css/css_positioning_floating.asp
八种清除浮动的方法:
http://www.jb51.net/css/173023.html
图文并茂的浮动原理及对策小结:
http://www.cnblogs.com/zhongweizhu/p/6003537.html
张大神的深入剖析(可惜,貌似太监了,只能坐等):
http://www.zhangxinxu.com/wordpress/2010/01/css-float%E6%B5%AE%E5%8A%A8%E7%9A%84%E6%B7%B1%E5%85%A5%E7%A0%94%E7%A9%B6%E3%80%81%E8%AF%A6%E8%A7%A3%E5%8F%8A%E6%8B%93%E5%B1%95%E4%B8%80/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值