本篇文章主要介绍了详解css边距重叠的几种解决方案,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
今天整理了一下用css防止边距重叠的几种方法
先假设一组dom结构
登录后复制
通常情况下,如果给子元素设置margin,就会产生这个属性对父元素也产生了同样的效果,然而
这其实不是我们想要的结果,我们只想对子元素设置margin,那么现在我们应该怎么做呢?
立即学习“前端免费学习笔记(深入)”;
(1) 给父元素设置边框
.parent { width: 300px; height: 300px; border: 1px solid #ccc;}.child { width: 200px; height: 200px; margin: 20px;}
登录后复制
(2)给父元素添加padding
.parent { padding: 1px; width: 300px; height: 300px;}.child { width: 200px; height: 200px; margin: 20px;}
登录后复制
(3)在子元素上方加一个有宽高的兄弟元素,记住是有宽高的。
登录后复制
(4)给父元素设置 overflow: hidden; 属性
.parent { overflow: hidden; width: 300px; height: 300px;}.child { width: 200px; height: 200px; margin: 20px;}
登录后复制
(5)给子元素设置 display: inline-block;(如果子元素是行内元素或者行内块级元素则不会产生边距重叠的问题)
.parent { width: 300px; height: 300px;} .child { width: 200px; height: 200px; margin: 20px; display: inline-block;}
登录后复制
(6)使子元素脱离文档流这个实现的方法有很多,浮动,绝对定位等,这里我就不做具体的解释了。
以上就是总结解决css边距重叠的方法的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/3122109.html