我理解CSS继承是如何工作的,但是我很难找到一个好的资源来说明CSS规范最初应用于标准HTML元素(如div
、span
和ul
)的属性。div
元素是块元素,span
元素将被放置为inline
。这些元素自然具有导致这些不同行为的属性,它们不是继承的。例如,如果span
元素和div
是html
元素的直接子元素的两个同级元素,则它们的行为仍然不同。
在哪里可以找到每个元素最初拥有的CSS属性的列表?
发布于 2015-04-18 01:55:43
例如,您必须为
元素指定'border-box‘而不是'content-box’,这是在哪里指定的?'div‘的浏览器默认样式表只有
display: block;
。
没有出现在浏览器默认样式表中的给定元素的属性被假定为该元素的初始值。这个初始值不是由浏览器定义的,而是由CSS定义的(当然,浏览器实现可能会违反规范)。
正如我在评论中提到的,一些属性,如color
,被设计为默认继承,而其他属性,如display
和box-sizing
,默认情况下不继承,因为继承对于这些属性没有意义。
您可以在相应W3C CSS specification的propdef中找到给定属性的初始值和继承信息,或者,如果您更喜欢对作者更友好的参考,也可以在许多第三方资源(如MDN或WebPlatform.org )中找到。
例如,box-sizing
的初始值为content-box
,默认情况下不会继承。此属性在CSS User Interface module中定义。这就是为什么如果您想要使用这个值,就需要显式地声明box-sizing: border-box
。
https://stackoverflow.com/questions/29706045
复制相似问题