“ul li a:link,a:visited”和“ul li a,visit”他们有何不同?

时间:2015-02-28 07:51:57

标签: css css-selectors

  1. nav ul li a:link, a:visited
  2. nav ul li a, visited
  3. 第一次,我使用方法1为导航栏中的链接指定颜色。然后,当我在section中创建链接时,它会采用存储在1中的CSS设置。我从youtube上的教程中获得了方法2。它有效。

    但是,我不明白这两者有何不同。我的意思是,当我们使用逗号时,它应该从它之前的选择器采用相同的节点级别吗?但是为什么在方法1中它需要页面中可用的所有链接。而且,对于方法2,我不明白它为什么会起作用。

    那么,是什么让这两者不同?

2 个答案:

答案 0 :(得分:2)

第一个选择器是选择器nav ul li a:linka:visited的组合。它匹配nav元素列表中的任何链接,以及页面中任何位置的任何访问过的链接。

第二个选择器是选择器nav ul li avisited的组合。它匹配nav元素中列表中的任何锚标记。 visited选择器没用,因为没有<visited>个元素。无论你从中得到什么教程都应该带着一点点盐。

您实际想要使用的内容可能是nav ul li a:link, nav ul li a:visited。您需要使用完整的选择器,,运算符不会合并选择器的内容。

答案 1 :(得分:1)

nav ul li a:link,a:visited

您正在使用此选择器说两件事:

A。)nav ul li a:link选择未访问的任何<a>,该<nav><ul><li>a:visited的孩子,但不一定是直接孩子。

B。)<a>选择网页上任何位置访问的任何nav ul li a,而不管其是否是任何内容的孩子。

nav ul li a,访问

你用这个选择器说了两件事

A。)<a>选择任何<nav><ul><li> 而不访问视为< visited的孩子,但不一定是直系孩子。

B。)<visited>绝对没有。如果它有效,它将选择任何类型为nav ul li a的html元素(如果它存在),但它不是有效的html元素。您认为从中看到的任何效果来自第一个选择器<a>,因为它包含<nav>

中包含的每个{{1}}

我希望这有点清楚。