微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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.这具有强制高度计算的效果,其具有将高度增长到期望尺寸的相同效果.这个解决方案可能有也可能没有其他副作用.

原文地址:https://www.jb51.cc/css/216693.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。