Usm*_*had 22 html css jquery html5 css3
我正在尝试使用伪类和伪元素来设置元素的样式.喜欢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;
}Run Code Online (Sandbox Code Playgroud)
<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>Run Code Online (Sandbox Code Playgroud)
Dic*_*A S 10
注意:出于隐私原因,浏览器严格限制您可以使用此伪类选择的元素应用的样式:仅颜色,背景颜色,边框颜色,border-bottom-color,border-left-color,border-right -color,border-top-color,outline-color,column-rule-color,fill和stroke.
想法1:创建子元素并为其编写CSS
<a href="#1" class="style-3">Seen Effects<span>Seen</span></a>
<a href="#2" class="style-3">Seen Effects<span>Seen</span></a>
<a href="#3" class="style-3">Seen Effects<span>Seen</span></a>
*, *: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 20px 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 span{
color: #fff;
margin-left: 20px;
}
.style-3:visited span{
color: #ccc;
margin-left: 20px;
}
Run Code Online (Sandbox Code Playgroud)
小提琴https://jsfiddle.net/ZigmaEmpire/do8yeLm1/
想法2:使用与背景颜色匹配的文本创建透明背景图像,并更改背景颜色:访问(不推荐)
如果你旁边有一个跨度,这很容易:
*, *:before, *:after {
box-sizing: border-box;
}
body {
background-color: #eee;
font-size: 23px;
padding: 50px;
font-family: 'Ubuntu Condensed', sans-serif;
}
.seen {
margin: 20px;
float: left;
padding: 20px 20px 20px 20px;
border: 1px solid #ccc;
background-color: #fff;
position: relative;
text-decoration: none;
}
.seen {
color: green;
}
.seen:visited {
color: red;
}
.seen + span {
color: #fff;
margin-left: 20px;
}
.seen:visited + span {
color: #ccc;
margin-left: 20px;
}Run Code Online (Sandbox Code Playgroud)
<a href="#1" class="seen">Seen Effects</a> <span>Seen</span>
<a href="#2" class="seen">Seen Effects</a> <span>Seen</span>
<a href="#3" class="seen">Seen Effects</a> <span>Seen</span>Run Code Online (Sandbox Code Playgroud)
这在Chrome中不起作用,但在Chromium中有效!