.CSS中的当前项选择器

.CSS中的当前项选择器,css,css-selectors,Css,Css Selectors,我对这个css片段有点困惑: .menu li:hover > a, .menu .current-item > a { text-decoration: none; color: #be5b70; } 如果我理解正确,第一部分将选择悬停列表项的所有子锚点(列表项必须位于类菜单的元素内) 但是第二部分呢 为什么两者都需要?我试着去掉第二部分,但没有注意到最终结果有什么不同 提前谢谢 子代选择器()仅选择直接子代。子代选择器()仅选择直接子代。逗号(,)分隔两个选择器。 第一

我对这个css片段有点困惑:

.menu li:hover > a, .menu .current-item > a {
  text-decoration: none;
  color: #be5b70;
}
如果我理解正确,第一部分将选择悬停列表项的所有子锚点(列表项必须位于类菜单的元素内)

但是第二部分呢

为什么两者都需要?我试着去掉第二部分,但没有注意到最终结果有什么不同

提前谢谢

子代选择器(
)仅选择直接子代。

子代选择器(
)仅选择直接子代。

逗号(,)分隔两个选择器。 第一个选择器。菜单li:hover将从菜单中选择悬停的列表项。 第二个选择器.menu.current项将选择当前突出显示的菜单项。假设用户不使用鼠标而是使用键盘进行导航,这在这种情况下非常有用。在这种情况下,用户不会将鼠标悬停在列表项上。

逗号(,)分隔两个选择器。 第一个选择器。菜单li:hover将从菜单中选择悬停的列表项。
第二个选择器.menu.current项将选择当前突出显示的菜单项。假设用户不使用鼠标而是使用键盘进行导航,这在这种情况下非常有用。在这种情况下,用户不会将鼠标悬停在列表项上。

两个选择器之间的空格,如
。a.b
说明,右元素位于左元素之下,但不是它的直接子元素

两个选择器之间的大于号,如
.a>.b
,表示右元素是左元素的直接子元素。(正如@kelly所说)

逗号
类似
.a.b、.a.c
使用相同的CSS规则拆分两个或多个不同的选择器

更新
对不起,空格同时表示直接子项和直接子项。特别感谢@torazaburo。

两个选择器之间的空格,如
.a.b
所示,右元素位于左元素之下,但不是它的直接子元素

两个选择器之间的大于号,如
.a>.b
,表示右元素是左元素的直接子元素。(正如@kelly所说)

逗号
类似
.a.b、.a.c
使用相同的CSS规则拆分两个或多个不同的选择器

更新
对不起,空格同时表示直接子项和直接子项。特别感谢@torazaburo.

哦,我明白了。因此,我们使用两个选择器来确保无论用户使用鼠标还是键盘,它都具有相同的行为。谢谢:如果您能参考有关使用逗号分隔多个选择器的文档来补充您的答案,DIt将非常有用。我在回答时没有提及任何地方。。在大学里学的:哦,我明白了。因此,我们使用两个选择器来确保无论用户使用鼠标还是键盘,它都具有相同的行为。谢谢:如果您能参考有关使用逗号分隔多个选择器的文档来补充您的答案,DIt将非常有用。我在回答时没有提及任何地方。。我想他可能是在问逗号,而不是
>我想他可能是在问逗号,而不是
>