css的内外边距均设置为0(详解css边距重叠的几种解决方案)
类别:Web前端 浏览量:2840
时间:2022-01-28 01:48:04 css的内外边距均设置为0
详解css边距重叠的几种解决方案今天整理了一下用css防止边距重叠的几种方法
先假设一组dom结构
<li class="parent"> <li class="child"> </li> </li>
通常情况下,如果给子元素设置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)在子元素上方加一个有宽高的兄弟元素,记住是有宽高的。
<li class="parent"> <li style="width: 20px;height: 20px;margin-top: "></li> <li class="child"> </li> </li>
(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样式中实现3d效果(利用纯CSS实现动态的文字效果实例)
- thinkphp微信开发实例(ThinkPHP框架下微信支付功能总结踩坑笔记)
- vue实现添加购物车小球(Vue实现简易购物车案例)
- sql server2005如何配置(SQLServer2005创建定时作业任务)
- mysql触发器如何创建(MySQL 触发器的使用和理解)
- dedecms循环次数(DedeCMS 统计栏目的文章总数的调用方法)
- 如何用python做一个弹窗(python实现祝福弹窗效果)
- dedecms使用教程(Dedecms提示信息及提示内容的修改方法)
- css隐藏div(CSS控制DIV层显示和隐藏的实现方法)