【发布时间】:2015-08-31 07:07:14
【问题描述】:
我正在尝试使用伪类和伪元素来设置我的元素的样式。比如hover::before 工作正常,但:visited::before 不工作。
如果链接被访问但:visited::before 不起作用,我想显示“已查看”。
*, *:before, *:after {
box-sizing: border-box;
}
body {
background-color: #eee;
font-size: 23px;
padding: 50px;
font-family: 'Ubuntu Condensed', sans-serif;
}
.style-3 {
margin: 20px;
float: left;
padding: 20px 80px 20px 20px;
border: 1px solid #ccc;
background-color: #fff;
position: relative;
text-decoration: none;
}
.style-3 {
color: green;
}
.style-3:visited {
color: red;
}
.style-3:hover::before {
content: "Hover";
position: absolute;
right: 20px;
color: yellow;
}
.style-3:visited::before {
content: "Seen";
position: absolute;
right: 20px;
color: blue;
}
<a href="#1" class="style-3">Seen Effects</a>
<a href="#2" class="style-3">Seen Effects</a>
<a href="#3" class="style-3">Seen Effects</a>
【问题讨论】:
-
你的示例代码有
.style-3:hover::before...你的意思是.style-3:hover::after -
对不起,我刚刚编辑,我想要
.style-3:visited::before而不是.style-3:hover::before -
试试吧!如果不行就回来
-
这将是一个安全问题,因为您可以获取用户访问过的链接,例如检查链接宽度,伪元素是元素内容的一部分
-
:visited是一个伪类,而不是一个伪元素。显然,::/:的区别在这里没有达到目的......