CSS边距重叠有什么解决方法?
Admin 2021-10-13 群英技术资讯 1833 次浏览
这篇文章给大家分享的是有关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边距重叠的解决方法就介绍到这,本文代码具有一定的借鉴价值,感兴趣的朋友可以参考学习,希望能对大家有帮助,想要了解更多大家可以关注群英网络其它相关文章。
文本转载自脚本之家
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
现如今,负margin技术的应用可谓越来越广,任一个大型站点惊鸿一瞥之下都会有其身影所在。个人认为负margin技术是学习css路上必不可缺少的课题之一,许多高级应用及疑难杂症修复都可以使用负margin技术进行实现。负margin理论:在说明什么是负margin之前,你得清楚margin是个啥么玩意,如果还不清楚可以先阅读本人的前一篇 ...
背景:有时候我们需要将json数据直接显示在页面上(比如在做一个接口测试的项目,需要将接口返回的结果直接展示),但是如果直接显示字符串,不方便查看。需要格式化一下。解决方案:其实JSON.stringify本身就可以将JSON格式化,具体的用法是:JSON.stringify(res,null,2);//res是要JSON化的对象,2是spacing如果想要效果更 ...
background-repeat:指背景图片的重复与否以及重复方式,有no-repeat,repeat,repeat-x,repeat-y四种属性值.no-repeat:即无论背景图片的大小,只显示单个背景图片,如首页的第一篇文章标题前的”NEW”图标,代码如上所示;repeat:指背景图片横向和纵向重复连续显示;repeat-x:指背景图片横向重复连续显示;repeat-
对于CSS3实现渐变背景的内容,我们之前也了解了很多,我们知道实现渐变背景并不困难,但是因为浏览器的版本问题,css3渐变背景的兼容问题大家要注意,对此这篇文章就给大家分享一下css3渐变背景的兼容问题的解决方法。
这篇文章主要给大家分享关于filter与fixed冲突的内容,下文会给大家介绍filter与fixed冲突的原因及解决方法,需要的朋友可以参考,接下来我们一起来学习一下吧。
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008