什么只能用CSS完成,但不能用普通的DOM样式属性完成?

时间:2012-11-30 14:57:38

标签: html css

我想知道使用CSS“只能”做什么事情,使用Javascript使用动态更新的样式“属性”是不可用的。到目前为止,我知道:

  • 媒体查询
  • 伪标签

还有吗?

更新

这个问题已经关闭但是我问它是因为我正在尝试决定用于项目的技术,但其中一个选项不能使用CSS样式表,并且只能使用javascript来操作样式属性。

2 个答案:

答案 0 :(得分:6)

内联样式属性只能包含属性声明(例如width: 10pxcolor: red)。它们不能包含任何其他CSS结构:不是选择器,at-rules(例如@import@media@font-face)等等。只是属性声明。

但是,它们在级联中起着重要作用:具有该属性的元素的任何样式都具有最高优先级(当然在考虑!important之后)。

顺便说一下,实际上an entire module devoted to style attributes,但对于作者而言,这并非必要的阅读。

因此,任何不是CSS声明的东西都只能在样式表中使用,而不能在样式属性中使用。不确定这是不是你要问的......

请注意,媒体查询和@media规则不是一回事;媒体查询也可以存在于样式表之外的区域,例如HTML的media属性,它们是下一个最常见的属性。

答案 1 :(得分:4)

我相信伪类(:hover等...)和伪元素(:after:before)不能通过JS添加/操作(通过我的意思是样式属性)因为它们不属于DOM。