从特定的锚点标签中移除下划线

15
为什么以下锚点标签的文本有下划线?

.pagerLink {
  background-color: #E4F5F8;
  border: 1px solid #C0DEED;
  text-decoration: none;
}
<a class="pagerLink" href="#">test</a>

4个回答

30

可能是因为另一个样式块的 优先级 比你的 pagerLink 类更高。尝试使用以下代码:

.pagerLink {
    background-color: #E4F5F8;
    border: 1px solid #C0DEED; 
    text-decoration: none !important;
}

那个起作用了。这是因为我使用了 a:link { color: #0084B4; text-decoration: underline; } 吗?这就是它保留下划线的原因吗? - TPR
@progtick,尤其是如果该样式在您的样式表中跟在.pagerLink之后。 - Frédéric Hamidi
它出现在它之前,但我想它仍然存在。 - TPR
@progtick,这可能还取决于浏览器。 - Frédéric Hamidi

1
在样式中使用text-decoration:none来取消a标签的下划线。
例如:
<head>  
 <style>

  .pagerLink
   {
     background-color: #E4F5F8;
     border:1px solid #C0DEED; 
   }
  .pagerLink a
  {
    text-decoration:none !important;
  }
 </style>
</head>

<body>
  <div class="pagerLink">
    <a href="somepage.aspx">test</a>
  </div>
</body>

你可以使用Firebug(Firefox插件)查找当前元素正在使用的样式以及它是否被其他样式定义覆盖。

http://getfirebug.com/


1
它没有起作用,但是我没有在<head>中使用CSS,这样你就知道了。 - TPR
@progtick,它正在继承某个类,您可以使用Firebug查看它正在继承哪个类。 - kobe

1

我还不能留下评论,我知道这是一个老问题,但在声明中使用! important时要非常小心:

text-decoration: none !important;

在较小的项目中,您可能会轻松解决它,但对于任何涉及多个来源协作的非平凡项目,当它覆盖我需要进一步设置的属性时,这种情况可能会非常烦人。 我不仅必须更改此内容以使我的修复程序生效,而且还必须检查更改是否不会破坏其他内容,而这可能会发生。

更好的方法是重构您的声明或重构代码,以便您不需要使用!important,并且只有在无法避免时才回退到!important


0
要去掉下划线,您需要按照以下样式代码片段进行操作。
.pagerLink{
  background-color: #E4F5F8;
  border:1px solid #C0DEED; 
  text-decoration:none !important;
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接