css如何清除浮动(一)

我们都知道通过浮动可以是元素脱离标准文档流。一个浮动的元素,如果没有设置width,那么将自动收缩为文字的宽度(这点非常像行内元素)。

代码如下:

运行结果:

大家注意看一下,这里我们设置的是2个div。每个div里面包含ul,而且对ul里面的li设置左浮动。div是块级元素会单独占据一行,但这里的2个div却并列在一行,显然是不符合常理的。那这是为什么呢?

是因为在这里,我们没有为div设置高度。如果一个元素要浮动,那么它的祖先元素一定要有高度。有高度的盒子,才能关住浮动。只要浮动在一个有高度的盒子中,那么这个浮动就不会影响后面的浮动元素。所以就是清除浮动带来的影响了。

下面对li的祖先ul设置高度

ul{

height: 50px;

}

此时运行结果

也可以设置div1和div2的高度

.div1,.div2 {

height: 50px;

}

运行的结果一致。

这里要注意一点,祖先元素的高度要大于等于浮动元素的高度,我们这是li的高度为40px,那么设置祖先元素的高度至少为40px。

这就是请出去浮动的第一种方法:给浮动元素的祖先元素加高度。总结一句话:

有高度的盒子才能关注浮动。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,846评论 1 92
  • 对于刚刚入门学习前端的渣渣来说,对于css浮动甚是不解,故找来优秀并通俗易解的文章来记录。 教程开始: 首先要知道...
    呆呆滴木木菇凉阅读 344评论 0 1
  • 本文以div元素布局为例。教程开始:首先要知道,div是块级元素(div与span),在页面中独占一行,自上而下排...
    TW妖妖阅读 399评论 0 1
  • 本文为转载文章,转载地址:经验分享:CSS浮动(float 写在前面的话: 如果读者理解CSS盒子模型,但对于浮动...
    翻炒吧蛋滚饭阅读 1,072评论 1 14
  • 作者:杨元原文地址:http://www.cnblogs.com/iyangyuan 很早以前就接触过CSS,但对...
    IT程序狮阅读 677评论 1 12