标签上的文字装饰不起作用

时间:2016-03-11 02:24:40

标签: javascript html css text-decorations

我正在尝试从<a>标记中删除所有链接样式。我尝试了各种各样的东西,没有任何工作。我可以得到下划线消失,但访问链接仍然是一个不同的颜色。简单的解决方法是只预先设置文本的颜色(这是有效的)但我不想要那样。我在这里复制了这个问题:https://jsfiddle.net/qod4dz5x/

我假设它与我在<h2>标记中有<a>标记有关?

<a href="http://google.com"><h2>
Google
</h2></a>


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

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

a:hover {
    text-decoration: none !important;
}

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

我错过了什么?感谢您提供任何有用的意见。

3 个答案:

答案 0 :(得分:2)

如上所述,Wowsk提到,文字装饰是指下划线,而不是颜色。您需要一个单独的规则:

a:visited {
    text-decoration: none;/*important is not necessary here or in any of the other psuedo selectors */
    color:black;/* or any color*/
}

或者,您可以设置<a>标签的颜色,无论如何都会覆盖psuedoselectors:

a {
    color:black;
    text-decoration:none;
} 

答案 1 :(得分:1)

一切似乎都很好。 您可以为已访问的颜色设置颜色,颜色与原始颜色相同。我认为没有其他方法可以做到这一点。

a:link {
    text-decoration: none;
    color:black;
}

a:visited {
    text-decoration: none;
    color:black;
}

a:hover {
    text-decoration: none;
}

a:active {
    text-decoration: none;
}

答案 2 :(得分:0)

问题在于伪选择器:link,:active 等。如果您只设置一个常规<a>标记属性集,如下例所示,您将设定。

a {
  text-decoration: none;
  color: black;
}

关于文字装饰和颜色的一面注意事项:

text-decoration 属性不会影响文本颜色。根据我的经验,一致颜色的最佳解决方案是将常规标记样式设置为包含颜色:继承; 。这样,您的标记将始终是其父元素的任何颜色。