【问题标题】:CSS a:link,a:active,a:visited dont apply on my tagsCSS a:link,a:active,a:visited 不适用于我的标签
【发布时间】:2013-01-25 11:52:48
【问题描述】:

我的页面中有以下 CSS 规则:

a:link,a:active,a:visited{text-decoration:none;}

由于某种原因它不起作用..如果我想应用这个规则,让我们在 div 里面说id="test" 我需要使用这条规则:

#test a:link,#test a:active,#test a:visited{text-decoration:none;}

我不知道为什么......你知道为什么会这样吗?

【问题讨论】:

  • 你需要记住!important覆盖了CSS的级联;并使未来的维护变得更加困难。敲碎核桃需要大锤。您遇到的问题是在某处有一个更具体的选择器,针对那些a 元素。使用 Firebug 或 Web Inspector 找出样式的来源并处理该选择器。

标签: css css-selectors anchor


【解决方案1】:

试试这个

   a:link,a:active,a:visited{text-decoration:none !important;}

【讨论】:

  • 您可以使用 !important 来强制使用这种样式,但是您需要注意不能再覆盖这种样式,所以我建议尽可能避免使用 !important,请参阅以下问题:@ 987654321@
  • 确实...用 !important 解决简单问题是个坏习惯。
  • 是的,如果他们能找到更好的方法,我不会告诉任何人使用 !important,但有时它可以提供完整的帮助
【解决方案2】:

很可能有另一个规则覆盖了链接的样式。理想情况下,使用浏览器的开发人员工具检查 CSS,这将向您显示哪些样式覆盖了您的样式并让您能够调试正在发生的事情。

或者,如果您绝对希望text-decoration: none 用于所有 链接,您可以使用!important 标志来强制应用样式:

a:link, a:active, a:visited { text-decoration:none!important; }

【讨论】:

  • 你可以使用 !important 来强制使用这种风格,但你需要注意你不能再覆盖这种风格,所以我建议尽可能避免使用 !important
  • @Wessel Kranenborg:公平点,我已经更新了我的答案。但是,我认为在这种情况下,!important 对于 OP 想要做的事情来说已经绰绰有余了——正如接受的答案所示:)
【解决方案3】:

因为您的链接规则是在其他地方定义的,您需要指定它们以使其更强大并覆盖您的其他定义。

您必须提供更多代码(html 和 css)来定位问题。

【讨论】:

    【解决方案4】:

    当我在 jsfiddle 中尝试此操作时,一切正常。 http://jsfiddle.net/g6Eqx/1/。你的 css 中是否还有比这条规则更强大的 css 规则?

    【讨论】:

    • 不,在我的 css 规则中,我没有比这更强大的东西了。我添加了 !important 和 1ftw1 一样,Town 说它有效。顺便说一句,在我的其他网站中,我得到了相同的规则,并且没有 !important
    • 您能否将完整的 css/html 代码发布到 jsfiddle 以便我们观看。如果 !important 是必要的,你的 css/html 中可能还有其他问题
    • 鉴于!important 提供了帮助,您几乎可以肯定确实这里有另一个规则来设置文本装饰。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-03-30
    • 2011-11-14
    • 1970-01-01
    • 1970-01-01
    • 2014-01-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多