css – 为什么在容器DIV中多个浮动DIVS之后使用?

我遇到了< div class =“clear”>< / div>在很多地方,但我不知道为什么会这样做?有人可以介绍一下这个,为什么在css中使用?这是CSS:
div.clear {
    clear:both;
}

解决方法

元素的高度由其子元素确定(除非它被明确设置).例如.:
+------A------+
|+-----------+|
||     B     ||
|+-----------+|
|+-----------+|
||     C     ||
|+-----------+|
+-------------+

A的高度由其孩子C的下边界在哪里决定.

现在,浮动元素并不计入父母的身高,他们被淘汰出来:

+------A------+
+--+---------++
   |    B    |
   +---------+
   +---------+
   |    C    |
   +---------+

A元素被折叠到最小高度,因为它的两个孩子被浮动.

引入清除元素以恢复正确的高度:

+------A------+
|  +---------+|
|  |    B    ||
|  +---------+|
|  +---------+|
|  |    C    ||
|  +---------+|
|+-----D-----+|
+-------------+

D元素是清除属性设置的零高度元素.这导致它落在浮动元素之下(它清除它们).这导致A有一个常规的子元素来计算它的高度.这是至少最典型的用例.

引入额外HTML元素的更好的解决方案是将A设置为overflow:hidden.这具有强制高度计算的效果,其具有将高度增长到期望尺寸的相同效果.这个解决方案可能有也可能没有其他副作用.

相关文章

Css3如何实现鼠标移上变长特效?(图文+视频)
css3怎么实现鼠标悬停图片时缓慢变大效果?(图文+视频)
jquery如何实现点击网页回到顶部效果?(图文+视频)
css3边框阴影效果怎么做?(图文+视频)
css怎么实现圆角边框和圆形效果?(图文+视频教程)
Css3如何实现旋转移动动画特效