朴素的CSS属性查询

时间:2018-02-28 12:00:20

标签: css

我知道这是一个基本问题,但我无法在任何地方找到答案。

所有CSS属性都适用于所有html元素吗?

或者是否存在适用于某些html元素的CSS属性?

感谢您的回答。

2 个答案:

答案 0 :(得分:2)

并非所有属性都适用于所有元素。某些属性仅适用于特定元素;什么样的限制适用于三件事:

  • 定义属性的CSS规范
  • 文档语言(例如HTML)
  • 浏览器/设备限制

绝大多数这些限制是由CSS规范决定的,有很多例子(这些只是数百中的三个):

  • 没有属性适用于display: none的元素,因为它们不会生成任何框
  • CSS table properties不适用于与任何与表格无关的显示类型
  • 的元素
  • 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时,您可以看到:

enter image description here

如果我采用适用于所有元素的<div class="box"> text </div> <div class="box-alt"> text. </div>属性,我们可以阅读:

enter image description here

所以是的,您可以将所有属性应用于所有元素,但不会根据您的具体情况考虑所有属性。