如何消除子容器的margin-top给父容器造成的合并margin影响。
来源:互联网 发布:父母皆祸害知乎 编辑:程序博客网 时间:2024/05/24 01:44
我们都知道,在CSS的盒模型中,当子容器设置了margin-top之后,父容器也会受到相应的影响,如下图所示,这是我们部门新来的一个员工写的页面,然后碰到了这个问题:
要解决这种情况,通常情况下我们会采用父容器的padding属性来替代子容器的margin属性。那么,有没有别的办法可以解决这个问题呢?
答案是有的!
我们发现此时的父容器并没有使用border属性或padding属性,可是当我们加上这两个属性中的某一个之后,上面所说的这种现象消失了!!更直接的说起作用的应该是padding-top或border-top-style 这两个属性。
如上两图所示。当我们使用border或padding中的任意一个属性时,这种现象就消除了。
但是border-top或padding-top宽度必须至少1像素才行。
于是,利用css盒模型的特点,我们可以将父容器的高度减1像素,padding-top加1像素或border-top设置为1像素即可。
补充:上面说的这种解决方案并非最合适,最近看了下BFC相关规范,突然联想到这个问题,原来只需要对外层容器触发BFC布局即可。触发BFC方式有很多,这里最恰当的应该是overflow:hidden了。
0 0
- 如何消除子容器的margin-top给父容器造成的合并margin影响。
- 如何消除margin-top对父元素的影响
- 如何消除子盒子的margin-top对父级盒子的影响
- 如何解决子div设置margin-top时影响父div的margin-top
- 子元素的margin-top为何会对父元素造成影响
- 关于子元素的margin-top影响父元素
- 子元素的margin-top 传递给了父元素
- 子块margin-top影响父块
- 子元素margin-top影响父元素
- 子div的margin影响父div
- CSS常见问题解决001——子div的margin-top影响父div的位置
- 子DIV块中设置margin-top时影响父DIV块位置的解决办法
- 子DIV设置margin-top影响父DIV位置的解决办法
- 子DIV块中设置margin-top时影响父DIV块位置的解决办法
- 子DIV块中设置margin-top时影响父DIV块位置的解决办法
- 子DIV块中设置margin-top时影响父DIV块位置的解决办法
- 子元素的margin-top与父元素合并的问题
- 子元素的margin-top属性传递给父元素的问题
- linux下源码安装realvnc
- “极致”神话和产品观念
- IE11 下ajax需要注意事情
- 5.0.2 QTcpServer
- MDIO/MDC(SMI)接口总结
- 如何消除子容器的margin-top给父容器造成的合并margin影响。
- eclipse闪退显现program too big to fit in memory
- 职业生活
- OSCache-JSP页面缓存
- 人脸检测之AAM(Active Appreance Model)算法
- JUnit + Mockito 单元测试(一)
- TCP SO_KEEPALIVE选项
- linux内核设计与实现读书笔记——IO层
- HUPlayer 使用向导和常见问题