我注意到 CSS 中有些属性是继承的,有些则不是。例如,text-size 属性是继承的,但 padding 和 margin 不会被子块继承。那么如何判断哪些属性是继承的,哪些属性不是?
这是所有可继承属性的列表。 我正在使用 W3C 的信息(针对 CSS 2.1 进行了更新),所以我猜它应该是正确的。但了解网络浏览器(特别是 IE),其中一些可能并非所有浏览器都可以继承:
azimuth
border-collapse
border-spacing
caption-side
color
cursor
direction
elevation
empty-cells
font-family
font-size
font-style
font-variant
font-weight
font
letter-spacing
line-height
list-style-image
list-style-position
list-style-type
list-style
orphans
pitch-range
pitch
quotes
richness
speak-header
speak-numeral
speak-punctuation
speak
speech-rate
stress
text-align
text-indent
text-transform
visibility
voice-family
volume
white-space
widows
word-spacing
Blender 和 Shaz 的列表都枚举了所有继承的 CSS 2.1 属性,包括用于听觉媒体的属性,例如
azimuth
。下面是没有面向听觉的属性的列表,现在包括 CSS3 属性。
border-collapse
border-spacing
caption-side
color
cursor
direction
empty-cells
font-family
font-size
font-style
font-variant
font-weight
font-size-adjust
font-stretch
font
letter-spacing
line-height
list-style-image
list-style-position
list-style-type
list-style
orphans
quotes
tab-size
text-align
text-align-last
text-decoration-color
text-indent
text-justify
text-shadow
text-transform
visibility
white-space
widows
word-break
word-spacing
word-wrap
我发现回答这个问题和类似问题的最佳参考页面(说哪些 CSS 属性不是继承的)是:
https://www.w3.org/TR/CSS21/propidx.html
它有一栏表示“继承”(或不继承)。
该页面显示“本规范的几个部分已更新”。但我在任何地方都找不到更新的版本,在一个简洁的表格中列出了所有 CSS 属性。但我认为这张桌子很棒,正是我想要的。还回答了每个 CSS 属性的可能值是什么以及初始(= 默认)值的问题。
如果您想查看分组在一起的所有继承或非继承属性,您可以从网页复制文本并将其插入到 Excel 等中,然后根据“继承?”列对其进行排序。我试过了,有效。