【发布时间】:2011-08-02 12:12:28
【问题描述】:
我注意到在 CSS 中有些属性是继承的,有些则不是。例如,继承了 text-size 属性,但子块不继承 padding 和 margin。那么如何判断哪些属性是继承的,哪些不是呢?
【问题讨论】:
-
也可以自己设置inherit到任意属性,即width:inherit;
标签: css inheritance
我注意到在 CSS 中有些属性是继承的,有些则不是。例如,继承了 text-size 属性,但子块不继承 padding 和 margin。那么如何判断哪些属性是继承的,哪些不是呢?
【问题讨论】:
标签: css inheritance
我发现回答这个问题和类似问题的最佳参考页面(比如哪些 CSS 属性没有被继承)是:
https://www.w3.org/TR/CSS21/propidx.html
它有一列用于“继承”(或不继承)。
页面显示“本规范的多个部分已更新”。但是我在任何地方都找不到更新的版本,在一个简洁的表格中列出了所有 CSS 属性。但我认为这张桌子很棒,正是我想要的。还回答了每个 CSS 属性的可能值以及初始(= 默认)值的问题。
如果您想查看分组在一起的所有继承或非继承属性,您可以从网页复制文本并将其插入 Excel 等,然后根据“继承?”列对其进行排序。效果很好,我试过了。
【讨论】:
这是所有可继承属性的列表。 我正在使用W3C's information,所以我猜它应该是正确的。但是知道网络浏览器(特别是 IE),其中一些可能不是所有浏览器都可以继承的:
azimuthborder-collapseborder-spacingcaption-sidecolorcursordirectionelevationempty-cellsfont-familyfont-sizefont-stylefont-variantfont-weightfontletter-spacingline-heightlist-style-imagelist-style-positionlist-style-typelist-styleorphanspitch-rangepitchquotesrichnessspeak-headerspeak-numeralspeak-punctuationspeakspeech-ratestresstext-aligntext-indenttext-transformvisibilityvoice-familyvolumewhite-spacewidowsword-spacing【讨论】:
inherit 值可用于强制任何属性继承,包括“已继承”列为否的属性。
【讨论】:
text-index 应该是 text-indent。
Blender 和 Shaz 的列表都列举了所有继承的 CSS 2.1 属性,包括那些用于听觉媒体的属性,例如 azimuth。下面是一个没有面向听觉的属性的列表,现在包括 CSS3 属性。
border-collapseborder-spacingcaption-sidecolorcursordirectionempty-cellsfont-familyfont-sizefont-stylefont-variantfont-weightfont-size-adjustfont-stretchfontletter-spacingline-heightlist-style-imagelist-style-positionlist-style-typelist-styleorphansquotestab-sizetext-aligntext-align-lasttext-decoration-colortext-indenttext-justifytext-shadowtext-transformvisibilitywhite-spacewidowsword-breakword-spacingword-wrap【讨论】: