繁体   English   中英

相对于其父级未设置CSS边距

[英]CSS margin not set relative to its parent

新手问题警报,请看以下示例: http : //codepen.io/cguo/pen/mVNgvG

h1元素的页margin-top为60像素。 即使h1元素位于container div内, margin-top也不是相对于container设置的,而是相对于页面顶部的设置。

为了实现我想要的,我必须将h1margin-top更改为padding-top

为什么相对于父母没有设置边距? 这是保证金的标准行为吗?

默认情况下,块级元素的边界超出其容器的边界。 为了确保它们保留在其中,您需要使容器成为块格式化上下文根。

有几种方法可以做到这一点。 一种是使容器具有以下属性:hidden

.container
  //existing code
  overflow: hidden

http://codepen.io/anon/pen/pyoeJO

这是一个令人头疼的主题,在这里无法解释,但是如果您对元素为何以行为方式运作的机制感兴趣,我建议您特别学习视觉格式模型和块格式上下文(对于初学者)。

http://www.sitepoint.com/understanding-block-formatting-contexts-in-css/

https://www.w3.org/TR/CSS21/visuren.html#block-formatting

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM