好的,我收到了以下风格的链接
a:link, a:visited {
background-color: white;
color: black;
border: 2px solid green;
padding: 10px 20px;
text-align: center;
text-decoration: none;
display: inline-block;
}
a:hover, a:active {
background-color: green;
color: white;
}
这对所有普通链接都有好处
但是,对于此特定链接,我不希望它从当前的默认样式继承任何内容。我希望它使用其他样式,所以我使用了id选择器
#otherLink, #otherLink:visited {
color: blue;
text-decoration:none;
font-weight: bold;
}
#otherLink:hover, #otherLink:active {
color: red;
}
然后我设置
var userName_a = document.createElement('a');
userName_a.setAttribute( 'id', 'otherLink' );
问题是otherLink
的某些样式受userName_a
影响,但其他当前默认链接样式仍会影响userName_a
。
那么,如何使特定链接不受其当前默认样式的影响?
答案 0 :(得分:1)
清除属性的唯一方法是在辅助选择器中将它们重新声明为initial,即background-color:initial;
答案 1 :(得分:0)
我能看到的唯一方法是返回基本样式并使用NOT伪类来排除具有特定ID的锚点。
a:link:not(#otherLink), a:visited:not(#otherLink) {
/*styles*/
}
这不太理想,但我希望你知道这个选项。
答案 2 :(得分:0)
这是yor html。
<!DOCTYPE html>
<html>
<head>
<title></title>
<style type="text/css">
a.normal{
text-decoration: none;
color:blue;
}
a.normal:hover{
color:green;
}
a.special{
text-decoration: none;
color: red;
}
a.special:hover{
color:yellow;
}
</style>
</head>
<body>
<a href="" class="normal">HOME</a>
<a href="" class="normal">ABOUT</a>
<a href="" class="special">DEFAULT</a>
</body>
</html>
然后,当您对js
中的特殊链接的呼叫始终使用a.special
和正常a.normal