我一直认为您无法为元素添加内联:hover{..}
样式,但是我很久以前就遇到了 this 页面,我看到的东西像这样。
<a href="http://www.w3.org/"
style="{color: #900}
:link {background: #ff0}
:visited {background: #fff}
:hover {outline: thin red solid}
:active {background: #00f}">...</a>
我根本不喜欢内联样式,但我目前的应用程序基于内嵌样式/脚本,所以这对我来说是一个很好的功能。
有一个问题:无效。
有谁知道为什么这不起作用? Chrome没有实现它吗?
w3.org
中的演示代码答案 0 :(得分:8)
事实上,the same document was referenced in another question here。这就是我不得不说的:
您链接的文件是 10年之久的草稿。
现在已经11岁了,但这不是重点(虽然它确实表明了你给出的例子不起作用的可能原因)。关键是给出的示例没有出现在同一规范的latest revision中。因此,据推测,在样式属性中嵌入选择器被认为是不可行的并且因此而被删除。
我对the question linked in the comments的回答表明为什么这样的功能被认为不可行 - 它只是与CSS当前的语言状态不兼容:
请注意,内联样式与规则集中的选择器参与相同的级联,并且在级联中具有最高优先级(尽管
!important
)。所以它们甚至优先于伪类状态。允许内联样式中的伪类或任何其他选择器可能会引入新的级联级别,并带来一系列新的复杂性。
当然,我没有声称为实际做出决定和/或编写规范的人说话,但如果我是其中之一,那就是我不支持该功能的原因。< / p>
这也可以解释为什么没有浏览器实现这样的功能(或者更可能的是,缺乏实施是导致它被重新考虑然后最终被删除的因素之一,这给了供应商更多的理由 not not 现在开始实现它,因为规范已达到CR状态。)
这里的教训是永远不要引用W3C技术文档的旧版本作为正典。永远记住要查看最新规范;你应该能够在文件的标题中找到一个链接。