"ul li a:link, a:visited" 和 "ul li a, visited" 它们有何不同?

"ul li a:link, a:visited" and "ul li a, visited" how they different?

  1. nav ul li a:link, a:visited
  2. nav ul li a, visited

第一次使用方法1给导航栏中的links设置颜色。然后,当我在 section 中创建 link 时,它需要存储在 1 中的 CSS 设置。我从 youtube 上的教程中获得了方法 2。有效。

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

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

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

第二个选择器是选择器 nav ul li avisited 的组合。它匹配 nav 元素中列表中的任何锚标记。 visited 选择器没有用,因为没有 <visited> 元素。无论您从哪个教程中获得该教程,都应该持保留态度。

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

nav ul li a:link, a:visited

你用这个说两件事select或者:

A.) nav ul li a:link selects <a> 未访问过 child of [=12] =] 但不一定是立即数 child.

B.) a:visited selects 任何 <a> 访问过 您网页上的任何地方,无论它是否是 child 什么都没有。

nav ul li a,已访问

你用这个select或

说两件事

A.) nav ul li a selects 任何 <a> 没有 认为它被 访问过 not<nav><ul><li> 的 child 但不一定是直接 child.

B.) visited 什么都不做。如果有效,它将 select 类型为 <visited> 的任何 html 元素(如果存在),但它不是有效的 html 元素。您认为从中看到的任何效果都来自第一个 select 或 nav ul li a,因为它涵盖了您的 <nav>

中包含的每个 <a>

我希望这能解决一些问题。