我知道这是一个基本问题,但我无法在任何地方找到答案。
所有CSS属性都适用于所有html元素吗?
或者是否存在适用于某些html元素的CSS属性?
感谢您的回答。
答案 0 :(得分:2)
并非所有属性都适用于所有元素。某些属性仅适用于特定元素;什么样的限制适用于三件事:
绝大多数这些限制是由CSS规范决定的,有很多例子(这些只是数百中的三个):
display: none
的元素,因为它们不会生成任何框height
不适用于display: inline
在某些情况下,HTML等文档语言会有自己的限制,可能会或可能不会覆盖CSS给出的限制(通常是这样),而在其他情况下,浏览器或设备限制可能会阻止属性适用于特定元素,或实际上任何元素。但这些不太常见;事实上,我想不出任何不是以特定方式限制CSS的表单元素的元素。
请注意this is not the same thing as every element having a value for every CSS property in the cascade。级联与属性是否适用于元素无关。
答案 1 :(得分:2)
除了@BoltClock的答案之外,我会说某些属性在某些情况下会被忽略,因为只有当另一个属性设置为特定属性时才能将它们视为值。
这是一个简单的例子:
>>> a = np.array([-1000, 1], dtype=np.complex)
>>> for i in a:
... print(i**(1/3.))
...
(5+8.66025403784j)
(1+0j)

.box {
justify-content:center; /*Has no effect and it's ignored*/
height:100px;
border:1px solid;
}
.box-alt {
display:flex;
justify-content:center; /*is considered because of display:flex*/
height:100px;
border:1px solid;
}

因此,当您检查MDN doc时,您可以看到:
如果我采用适用于所有元素的<div class="box">
text
</div>
<div class="box-alt">
text.
</div>
属性,我们可以阅读:
所以是的,您可以将所有属性应用于所有元素,但不会根据您的具体情况考虑所有属性。