首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从<A>元素锚文本中删除下划线

从<A>元素锚文本中删除下划线
EN

Stack Overflow用户
提问于 2014-01-25 17:21:20
回答 3查看 949关注 0票数 0

我有一个样式表,它为所有<A>元素提供特殊的样式:

代码语言:javascript
复制
a {
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
}

但是,我不想将这种样式应用于作为页面锚点的<A>元素(例如具有name属性的元素)。因此,我创建了另一个类来覆盖<A>元素的一般规则:

代码语言:javascript
复制
.anchor-text {

}

.anchor-text a:hover {
    text-decoration: none;
}

然后我就这样运用它:

代码语言:javascript
复制
<a href = "">
    A Hyperlink (this should underline on hover)
</a>

<a class='anchor-text' name='foo'>
    Anchor text (this should NOT underline on hover)
</a>

然而,使用Chrome和火狐,的链接文本和锚文本显示下划线时,我悬停在他们上面。那么,为什么anchor-text样式类不覆盖<A>标记的一般规则?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-01-25 17:28:44

!important不是问题所在。因为你的选择器是.anchor-text a:hover而不是.anchor-text:hover

这是一个JSFiddle

CSS

代码语言:javascript
复制
a {
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
}

a.anchor-text {

}

a.anchor-text:hover {
    text-decoration: none;
}

HTML

代码语言:javascript
复制
<a href = "">
    A Hyperlink (this should underline on hover)
</a>

<a class="anchor-text" name="foo" href="">
    Anchor text (this should NOT underline on hover)
</a>
票数 5
EN

Stack Overflow用户

发布于 2014-01-25 17:33:06

如果您希望它不需要使用类就可以工作,可以使用:

代码语言:javascript
复制
a[name]:not([name='']) {
    text-decoration: none !important;
}

小提琴:http://jsfiddle.net/Et389/

票数 1
EN

Stack Overflow用户

发布于 2014-01-25 17:23:36

小提琴

代码语言:javascript
复制
a.anchor-text:hover {
    text-decoration: none;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21353659

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档