关于css属性clear属性的一些理解

443 阅读1分钟

这个属性更多的是用来清楚浮动元素的,其具有的属性词为none,left,right,both
首先如果一个盒子中右浮动元素,那么这个浮动元素的高度是不会传给父元素的,因而产生了高度塌陷

image.png 于是这个时候清楚这个浮动,或者说要让父元素知道这个浮动元素的高度,就可以加上clear属性。根据MDN的定义,将这个clear属性加在不同的元素上的效果不同,此处不同的元素指的是浮动元素与非浮动元素,而且为了在不影响原有布局的情况,我们最终在最后加上一个空的div或者是最后一个元素后加上一个伪元素,都是欧克的,这里就加上空的div,并且为了看到它加上了border。 当clear加在非浮动元素的时候,会把所有的非浮动元素放在浮动元素的下方。注意一下这里的非浮动元素。

image.png 已经将浮动元素加了尽来,我们的那个空的元素是放在浮动元素的下面,这个就是clear属性的用处,首先清除浮动,其次将这个元素放到浮动元素的下方。
那如果加在浮动元素上呢?
可以看到高度并没有传递给父元素,但是这个属性还是加在了上一个浮动元素的下方,哪怕是浮动的方向不同都是在下方。

image.png 并且是以所在的这一行height最高的浮动元素为准的。

image.png