Html 将活动和悬停伪选择器组合为:活动:悬停是正确的吗。?

Html 将活动和悬停伪选择器组合为:活动:悬停是正确的吗。?,html,css,css-selectors,Html,Css,Css Selectors,我在某个地方见过这个,但我找不到更多的信息告诉我它是否正确: .selector a:active:hover { color: #777; } .selector a:hover:active { color: #777; } 我不记得是哪一个了 但不管怎样,Firefox似乎不喜欢它,什么也不做 这是另一个显示不良实践的教程示例吗?这是不正确的,也不起作用,您需要将它们分开 .selector a:active, .selector a:hover { color: #777; } 两者

我在某个地方见过这个,但我找不到更多的信息告诉我它是否正确:

.selector a:active:hover { color: #777; }
.selector a:hover:active { color: #777; }
我不记得是哪一个了

但不管怎样,Firefox似乎不喜欢它,什么也不做


这是另一个显示不良实践的教程示例吗?

这是不正确的,也不起作用,您需要将它们分开

.selector a:active, .selector a:hover { color: #777; }
两者都很好(并且完全相同)。我刚刚在Firefox4.0b6/Mac上进行了测试,它的工作原理与我预期的完全一致。在下面的示例中,当我指向链接时,链接变为红色,然后当我按住鼠标按钮时,链接变为绿色


试验
a:悬停{颜色:红色;}
a:活动{颜色:黄色;}
a:悬停:活动{颜色:绿色;}
但用鼠标激活链接时,希望链接的样式与用键盘激活链接时的样式不同是不常见的

我怀疑你可能犯了一个典型的错误<代码>:active表示“在被激活时(例如,当鼠标按钮被按下时)”而不是“当href属性的值解析为当前页面的URI时”

没有表示“当href属性的值解析为当前页面的URI时”的伪类,因为经典模式是在将HTML发送到客户端之前向服务器上的锚添加“当前”或“选定”类。

a、 选择器:活动:悬停{颜色:#777;}

a、 选择器:悬停:活动{颜色:#777;}

不是

.selector a:活动:悬停{颜色:#777;}

.selector a:悬停:活动{颜色:#777;}


很简单:p

不是我的否决票,而是在CSS中,逗号的意思是“或”。OP正在寻找“和”。不,那是不对的。逗号表示多个规则共享一个定义。如果没有逗号,我会说我想要一个带有类选择器的元素,一个锚元素,在它下面还有另一个选择器元素。元素不能同时共享:活动和:悬停状态。垃圾。如果您要用鼠标激活它,那么它必须同时具有:hover状态(如果您使用非定点设备激活,例如,将其切换到焦点,然后按enter键,那么它不一定是:hover at same time)。你为什么不检查一下呢。您可能会注意到:active取代:hover,并且它们不是同时在元素上处于“活动”状态。您是对的,当按下鼠标时,它实际上起作用(活动)。我原以为这个语法意味着活动或悬停,所以我只测试了悬停,因为它什么也没做,所以我认为它不起作用。在CSS选择器中获得“或”的唯一方法是分组(使用
和多组完整选择器),但如果它意味着活动和悬停,它仍然是无用的(可能没什么用处,但正如你说的:不寻常)。我认为它可以用来组合active和hover,从而减少语法…将某些选择器的特殊大小写为“或”而不是“and”将非常不直观。我可以看到一个用途。如果您制作了某种按钮,而该按钮是由鼠标点击事件触发的,则单击并按住按钮上的光标,然后将光标移开将使按钮保持:活动,但不保持:悬停。因此,您可以仅在:悬停:活动时使按钮看起来被按下。请尝试按住关闭按钮您将看到浏览器的按钮。您无法知道类
选择器是否存在于
a
元素上,因为OP没有发布他的标记。如果
a
的容器具有类
选择器,OP的示例就可以了。