小编典典

具有内联样式的CSS伪类

html

是否有可能使用内联样式的伪类?


例:

<a href="http://www.google.com" style="hover:text-decoration:none;">Google</a>

我知道上述HTML不能正常运行,但是有类似的东西吗?

附言:我知道我应该使用外部样式表,并且可以。我只是好奇是否可以使用内联样式来完成。


阅读 1778

收藏
2020-05-10

共1个答案

小编典典

不,这是不可能的。在使用CSS的文档中,内联style属性只能包含属性声明。样式表中每个规则集中出现的同一组语句。根据样式属性规范:

style属性的值必须匹配CSS 声明块(不包括定括号)的内容的语法,其声明的正式语法在以下CSS核心语法的术语和约定中给出:

 declaration-list
   : S* declaration? [ ';' S* declaration? ]*
   ;

选择器(包括伪元素),规则,任何其他CSS构造都不允许。

可以将内联样式视为应用于某些匿名超特定ID选择器的样式:这些样式仅应用于具有该style属性的那个元素。(如果该元素具有该ID,则它们也优先于样式表中的ID选择器。)从技术上讲,它不会那样工作;这只是为了帮助您了解为什么该属性不支持伪类或伪元素样式(它更多地与伪类和伪元素如何提供文档树的抽象表示有关)文档语言)。

请注意,内联样式与规则集中的选择器参与同一级联,并且在级联中具有最高优先级(!important尽管有)。因此,它们甚至优先于伪类状态。以内联样式允许伪类或任何其他选择器可能会引入新的级联级别,从而带来新的复杂性。

还要注意,样式属性规范的非常旧的版本最初确实建议允许这样做,但是由于上面给出的原因或者由于实施它不是可行的选择而被废弃了。

2020-05-10