我是否在CSS中正确编写了这些上下文选择器,分组和锚点选择器?

时间:2017-03-21 18:21:48

标签: css css-selectors pseudo-class

这就是我想要做的事情:

  1. 创建一个包含nav,ul和li选择器的上下文选择器,并添加以下内容

    一个。显示内联

    湾边距顶部和底部0左右40px

  2. 创建一个包含nav,ul,li和锚点选择器的上下文选择器,与nav,ul,li和span选择器分组并添加以下内容

    一个。文字装饰无

    湾颜色#000

  3. 创建一个包含nav,ul,li和锚选择器的上下文选择器(锚选择器将具有悬停伪类),与nav,ul,li和span选择器分组并添加以下

    一个。文字装饰下划线

  4. 这是我到目前为止写的:

    nav ul li {display: inline; margin-top: 0px; margin-bottom: 0px; margin-left: 40px; margin-right: 40px; }
    nav, ul, li, span, {text-decoration: none; color: #000; } 
    nav, ul, li, a: hover {text-decoration: underline; }
    

1 个答案:

答案 0 :(得分:0)

通常情况下,我倾向于直接避免回答练习题而提供提示,但由于你已经自己想出了这个问题,我为了后代而发布了完整的答案。

你对#1的回答是正确的。正如James Donnelly所指出的那样,你的四个保证金声明可以压缩到Stream,但是

#2和#3中的选择器不正确。请记住,上下文选择器由连接每个选择器的后代组合子组成。在回答#1之后,#2中的两个上下文选择器应该是

 String commaSeparatedNames = names.stream()
 .collect(Collectors.joining(", "));

并且#3中的两个上下文选择器应该是

margin: 0px 40px

注意每对只使用一个逗号。 #2中选择器末尾的逗号也不属于 - 换句话说,不要在选择器的结尾和声明块的nav ul li a, nav ul li span 之间添加逗号。

另请注意,nav ul li a:hover, nav ul li span {之间的空格已被删除 - 该空间不应存在。伪类名称需要连接到:

您的样式声明是正确的。