我是 CSS 的新手,并尝试了解由于状态更改而修改链接的方式。在我的方案中,当链接处于已访问状态时,我想将text-decoration
更改为line-through
。但是, Mozilla 或 Chrome 浏览器,当链接在已访问<时,text-decoration
文本内容未使用line-through
更新/ strong>州,如下所示。我哪里做错了?
当text-decoration
保持不变时,请将链接状态更改为访问时通知颜色已更新(绿色)(请参阅演示#1);
注意:Mozilla有关于同一问题的错误报告:Mozilla Bug #645786以及错误报告。问题也会重现tag.class:state
选择器(a.:visited)(参见演示#2 )
<!DOCTYPE html>
<html>
<head>
<style>
a:link {
color: red;
text-decoration: none;
}
a:visited {
color: green;
text-decoration: line-through;
}
a:hover {
color: blue;
}
a:active {
color: yellow;
}
</style>
</head>
<body>
<p>
<b>
<a href="http://google.com" target="_blank">This is a link</a>
</b>
</p>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<style>
a.linkClass:link {
color: red;
text-decoration: none;
}
a.linkClass:visited {
color: green;
text-decoration: line-through;
}
a.linkClass:hover {
color: blue;
}
a.linkClass:active {
color: yellow;
}
</style>
</head>
<body>
<p>
<b>
<a class="linkClass" href="http://google.com" target="_blank">This is a link</a>
</b>
</p>
</body>
</html>
答案 0 :(得分:4)
对访问过的链接进行样式设置存在限制;
访问过的链接样式的限制
您仍然可以直观地设置访问过的链接,但也有 现在限制你可以使用的样式。只有以下属性 可以应用于访问过的链接:
color background-color border-color (and its sub-properties) outline-color The color parts of the fill and stroke properties
Privacy and the :visited selector
由于用户的隐私问题,不允许使用 text-decoration
样式。
答案 1 :(得分:1)
您可以使用此jquery addClass
。
演示代码
$('a').click(function(){
$(this).addClass('visited');
});
<强> CSS 强>
.visited {
color: green;
text-decoration: line-through;
}
答案 2 :(得分:0)
<a href="http://www.google.com" target="_blank">google</a>
<style>
a:link
{
color:red;
}
a:visited
{ color:yellow;
}
a:hover
{ color:blue; }
a:active { color:orange; }
</style>