CSS边距重叠有哪些解决方法?
发布时间:2023-09-19 10:57:17 所属栏目:语言 来源:
导读:这篇文章给大家分享的是有关CSS边距重叠问题,在使用CSS排版布局时,会发现兄弟或者父子节点设置的上下外边距会发生重叠现象,那么这个重叠的问题要如何解呢?下面我们一起来了解看看。
<style>
.ou
<style>
.ou
这篇文章给大家分享的是有关CSS边距重叠问题,在使用CSS排版布局时,会发现兄弟或者父子节点设置的上下外边距会发生重叠现象,那么这个重叠的问题要如何解呢?下面我们一起来了解看看。 <style> .out { width: 100%; background-color: pink; } .out>div { height: 100px; width: 100%; background-color: rgb(223, 136, 23); margin: 5px 0 10px; } </style> <section class="out"> <div>11</div> <div>22</div> <div>33</div> </section> 当我们查看整个section的高度时,其实本应该是345px的,由于父子和兄弟的外边距的重叠,会发现高度为320px。那么如何在实际应用中解决这个问题呢? 创建BFC(全程块级格式化上下文)可以解决这个问题,首先明确下BFC的原理 BFC内的元素与外界元素之间互不影响,是一个相对独立的封闭区域; 相邻的BFC之间不会发生垂直边距的重叠,也就是说,想要元素外边距不重叠,就要创建一个BFC区域; BFC区域不会与浮动元素的box重叠; BFC在计算高度时,浮动元素也会被算在内; 如何创建BFC? 1.设置overflow属性不为visible; 2.float不为none; 3.position的值不为static或者是relative; 4.display属性为table时; <style> .out { width: 100%; background-color: pink; overflow: hidden; } .out>div { height: 100px; width: 100%; background-color: rgb(223, 136, 23); margin: 5px 0 10px; /* overflow: hidden; */ float: left; } </style> <section class="out"> <div>11</div> <div>22</div> <div>33</div> </section> 当我们再次查看section的高度的时候,会发现高度已经恢复345px了,同时也证明了BFC计算高度时,会把浮动的子元素的高度也算在内; 关于CSS边距重叠的解决方法就介绍到这,本文代码具有一定的借鉴价值,感兴趣的朋友可以参考学习,希望能对大家有帮助。 (编辑:汽车网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |