资讯专栏INFORMATION COLUMN

子元素设置margin-top为什么影响了父元素

jeyhan / 2573人阅读

摘要:两个,子元素设置了后,发现并没有跟想象的一样,而发现父元素产生了间距。父元素的第一个子元素的上边距如果碰不到有效的或者就会不断一层一层的找自己领导父元素,祖先元素的麻烦。父级设置父级设置破坏非空白的折叠条件父级设置





    

crystal

两个div,子元素div设置了margin-top后,发现并没有跟想象的一样,而发现父元素产生了间距。
如上图。

原理:margin折叠
在css2.1盒模型仲规定的内容

因为嵌套也属于毗邻,所以在样式表中优先级更高子元素的margin会覆盖外层父元素定义的margin。

父元素的第一个子元素的上边距margin-top如果碰不到有效的border或者padding.就会不断一层一层的找自己 “领导”(父元素,祖先元素)的麻烦。只要给领导设置个有效的 border或者padding就可以有效的管制这个目无领导的margin防止它越级,假传圣旨,把自己的margin当领导的margin执行。

解决办法:
1、父元素或者子元素使用浮动或者绝对定位。
2、父级设置overflow:hidden
3、父级设置padding(破坏非空白的折叠条件)
4、父级设置border

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/114690.html

相关文章

  • CSS浮动的特性

    摘要:原因是因为没有预先设置高度,所以高度由其包含的子元素高度决定。而浮动脱离文档流,所以子元素并不会被计算高度。此时的中,相当于中子元素高度为,所以发生了父元素高度塌陷现象。因为凡是能创建一个,就能达到包裹浮动子元素的效果。 浮动具有以下特性: 盖不住的文本 浮动元素后面不是块级元素,后面的元素将会和它并排(除非设置了元素的宽度,并且屏幕放不下时将会换行) 浮动元素的上一个元素如果没有浮...

    yuxue 评论0 收藏0
  • CSS浮动的特性

    摘要:原因是因为没有预先设置高度,所以高度由其包含的子元素高度决定。而浮动脱离文档流,所以子元素并不会被计算高度。此时的中,相当于中子元素高度为,所以发生了父元素高度塌陷现象。因为凡是能创建一个,就能达到包裹浮动子元素的效果。 浮动具有以下特性: 盖不住的文本 浮动元素后面不是块级元素,后面的元素将会和它并排(除非设置了元素的宽度,并且屏幕放不下时将会换行) 浮动元素的上一个元素如果没有浮...

    kamushin233 评论0 收藏0
  • 前端必懂之熟悉又陌生的BFC

    写在最前:BFC看起来是个很陌生的概念但它却时时发生在我们工作中,如何清除浮动影响?如何避免margin穿透问题?如何编写两栏自适应布局?都和BFC有这密不可分的关系,下面走进切图妞的世界,分分钟搞定BFC! 一、什么是BFC? BFC概念 块格式化上下文(Block Formatting Context,BFC) 是Web页面的可视化CSS渲染的一部分,是块盒子的布局过程发生的区域,也是浮动元素...

    Dongjie_Liu 评论0 收藏0
  • 前端必懂之熟悉又陌生的BFC

    写在最前:BFC看起来是个很陌生的概念但它却时时发生在我们工作中,如何清除浮动影响?如何避免margin穿透问题?如何编写两栏自适应布局?都和BFC有这密不可分的关系,下面走进切图妞的世界,分分钟搞定BFC! 一、什么是BFC? BFC概念 块格式化上下文(Block Formatting Context,BFC) 是Web页面的可视化CSS渲染的一部分,是块盒子的布局过程发生的区域,也是浮动元素...

    philadelphia 评论0 收藏0

发表评论

0条评论

jeyhan

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<