快速的CSS继承问题

时间:2012-02-14 15:25:24

标签: css inheritance shorthand

W3C网站上,border-style属性(作为示例)被标记为继承'否',但其中一个允许的值是'inherit'。这是为什么?

在这种情况下,继承'否'是否意味着默认值不继承? 如果是这样,那么无论如何我都可以通过查看默认值“无”来看到。

其次,我是否正确地认为'继承'价值不能用于简短陈述中的个别属性?

2 个答案:

答案 0 :(得分:3)

这意味着如果你有一个带边框的DIV和另一个DIV,那么内部的DIV将不会自动采用父的边框属性。您可以在子元素上使用“inherit”强制继承。

这与自动继承的字体大小定义不同。

答案 1 :(得分:1)

符号“继承:否”表示“正常”继承不适用。在“普通”继承中,如果没有样式表为元素的属性赋值,则使用元素父级的属性值。我在引号中使用“normal”,因为这仅适用于某些属性,如“Inherit:No”符号所示。

特殊值inherit是完全不同的。使用它时,声明的整个值部分必须仅包含单词inherit,并且它只是声明属性值与元素的父元素相同(无论属性是什么) 。与CSS 2.1 spec says相反,这并不强制或“强制”继承;声明参与级联,它可能会失去其他规则(正如您可能从使用!important说明符的示例中猜到的那样)。