此代码可以正常工作:
HTML:
<span class="counter" >test</span>
CSS:
.counter:hover:after{
content: "hello";
}
结果:
testhello
但是我如何才能将“测试”转换为“你好”。我尝试下面的代码,但没有追加:
CSS:
.counter:hover{
content: "goodbye";
}
预期结果:
goodbye
答案 0 :(得分:2)
content
只能与::before
和::after
结合使用。 content
不是元素内的文本。您应该以这种方式使用它:
.counter:after {
content: "hello";
}
.counter:hover::after {
content: "goodbye";
}
<span class="counter" ></span>
JavaScript解决方案:
const counter = document.querySelector(".counter");
counter.addEventListener("mouseover",function(){
this.innerHTML = "hello";
})
counter.addEventListener("mouseout",function(){
this.innerHTML = "goodbye";
})
<span class="counter" >test</span>
答案 1 :(得分:0)
使用font-size隐藏旧内容并显示新内容:
.counter:hover:after {
content: "hello";
font-size:initial;
}
.counter:hover {
font-size:0;
}
<span class="counter">test</span>