为什么要继承顶部/右侧/底部/左侧CSS属性?

时间:2013-01-07 15:13:30

标签: css positioning

标准规定不会继承top / right / bottom / left CSS属性。

CSS 2.1:http://www.w3.org/TR/CSS2/visuren.html#position-props
CSS定位模块:http://www.w3.org/TR/css3-positioning/#box-offsets-trbl

但是从我所看到的(我测试了Firefox,Chrome,IE10和Opera),实现继承了这些属性。

HTML:

<div id="container">
  <div id="transition">Hello World</div>
</div>

CSS:

#container {
  position: absolute;
  left: 20px;
  top: 20px;
}

#transition {
  position: absolute;
  left: inherit;
  top: inherit;
}

此处,#transition元素会收到其父级的top / left值。

现场演示: http://t.co/aIRuHPAj

我在这里缺少什么?

1 个答案:

答案 0 :(得分:10)

他们继承 topleft属性,因为您明确这样做:

#transition {
  /* ... */
  left: inherit;
  top: inherit;
}

如果没有这两行,这些属性将不会被继承隐式(与规范内联)。 Demo