div外边距重合问题如何解决


本文小编为大家详细介绍“div外边距重合问题如何解决”,内容详细,步骤清晰,细节处理妥当,希望这篇“div外边距重合问题如何解决”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。CSS 外边距重叠(外边距塌陷)块的上外边距(margin-top)和下外边距(margin-bottom)有时合并(折叠)为单个边距,其大小为单个边距的最大值(或如果它们相等,则仅为其中一个),这种行为称为边距折叠。边界重叠是指两个或多个盒子(可能相邻也可能嵌套)的相邻边界(其间没有任何非空内容、补白、边框)重合在一起而形成一个单一边界。换句话说,外边距重叠是指两个垂直相邻的块级元素,当上下两个边距相遇时,起外边距会产生重叠现象,且重叠后的外边距,等于其中较大者。margin值重叠计算的方法:margin值都为正,取两者的最大的值。出现负边界,用最大的正边界减去绝对值最大的负边界。如果没有正边界,则从零中减去绝对值最大的负边界。外边距的重叠只产生在普通流文档上下外边距之间, 只有 块元素 会发生外边距重叠,行内元素行内块元素 都不会发生外边距重叠问题第一种情况: 相邻兄弟元素的marin-bottom和margin-top的值发生重叠发生边界重叠,只会挑选最大边界范围留下,所以两者之间的边距为100px
如果需要解决这个边界重叠问题,则需在后一个元素加上float 或 给其中一个兄弟套上一个p,设置border:1px solid white;第二种情况:父级和第一个/最后一个子元素的margin合并
例子的效果如下图:当同时设父元素和子元素的margin-top都为50px时,父元素和子元素都距离边界50px,而不是我们认为的子元素距离父元素50px。当父元素不设置上边距,子元素设置margin-top为50px时,此时还是父子元素距离顶端50px解决方法:方法一:给父元素加overflow:hidden;这种方法解决了我们外边距重叠问题,但是这个方法只适用于 “子元素的高度加上外边距高度小于父元素高度(childHeight +margin-top ,不然子元素部分内容就会被隐藏掉方法二:给父元素加边框 border(可以加个透明的边框)方法三:给父级或者子级设置display:inline-block;既然只有块元素会产生外边距重叠,那么我们就让它不是块元素,把它设置为行内块元素方法四:给父级或者子级设置float方法五:给父级或者子级设置position: absolute;方法六:给父元素添加padding第三种情况:空的块级元素自身的margin-top和margin-bottom发生的重叠。我们可以通过为其设置border、pa
dding或者高度来解决这个问题。加了border或padding后,与上下两个元素的间距分别为50px和100px,没加之前,上下两个元素的间距为100px第四种情况: 高度为auto的父元素的margin-bottom和子元素的margin-bot免费云主机域名tom发生重叠父元素设置border-bottom、padding-bottom来分隔它们,也可以为父元素设置一个高度,max-height和min-height也能解决这个问题全部都为正值,取最大者;不全是正值,则都取绝对值,然后用正值减去最大值;没有正值,则都取绝对值,然后用0减去最大值。读到这里,这篇“div外边距重合问题如何解决”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注百云主机行业资讯频道。

相关推荐: 如何运用SocketIO实现WebSSH

这篇文章主要讲解了“如何运用SocketIO实现WebSSH”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何运用SocketIO实现WebSSH”吧!Flask 框架中如果想要实现WebSocket功能有许多…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

Like (0)
Donate 微信扫一扫 微信扫一扫
Previous 03/25 22:42
Next 03/25 22:42

相关推荐