【问题标题】:"ul li a:link, a:visited" and "ul li a, visited" how they different?“ul li a:link,a:visited”和“ul li a,visited”它们有何不同?
【发布时间】:2015-02-28 16:10:59
【问题描述】:
  1. nav ul li a:link, a:visited
  2. nav ul li a, visited

第一次,我使用1 方法为导航栏中的链接赋予颜色。然后,当我在section 中创建链接时,它会采用存储在1 中的CSS 设置。我从 youtube 上的教程中获得了方法 2。它有效。

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

那么,这两者有何不同?

【问题讨论】:

  • Protip:你不要在 YouTube 上使用 HTML/CSS 教程。

标签: css css-selectors


【解决方案1】:

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

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

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

【讨论】:

  • 哦,这正是我需要的。所以,这是我从一开始就理解错了,我使用的两种方法都是错误的 lmho。
  • 这不是意见问题 - 他们都错了,期间。
【解决方案2】:

nav ul li a:link, a:visited

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

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

B.) a:visited 选择您网页上任何位置访问过的任何 <a>,无论它是否是任何东西的子级。

nav ul li a, 访问过

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

A.) nav ul li a 选择任何<a> 不考虑它是访问过是@987654328的孩子@ 但不一定是直系子女。

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

我希望这能澄清一点。

【讨论】:

    猜你喜欢
    • 2018-03-25
    • 1970-01-01
    • 2012-08-25
    • 1970-01-01
    • 2011-08-06
    • 2021-11-14
    • 2022-12-20
    • 1970-01-01
    • 2018-03-27
    相关资源
    最近更新 更多