css如何清除浮动(二)

在上篇介绍通过设置祖先元素的高度类清除浮动,但在实际的网站开发中,很少会设置元素的高度,那这是为什么呢?

是因为元素一般都能被内容撑高,所以不需要设置高度。

那能不能不写height,也把浮动清除了呢?也让浮动之间,互不影响呢?

还是同样的例子,通过对div2设置clear: both;来清除浮动,clear就是清除的意思,both就是全部的意思,包括左浮动和右浮动。这里对li设置左浮动,是div2会紧追在div1后面,就需要对div2清除浮动。

css如何清除浮动(二)_第1张图片

运行结果:

css如何清除浮动(二)_第2张图片

由运行结果,我们可以看出div2清除了浮动,但是对div2设置的margin-top: 10px;失效了。同样对div1设置margin-bottom也是失效的,本质原因div没高。这也是使用clear属性清除浮动的一个弊端。

你可能感兴趣的:(css如何清除浮动(二))