You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在span元素hover时修改其:before伪元素的颜色?

解决鼠标悬停span时同步修改:before伪元素颜色的问题

很简单哦,你现在的代码只给hover状态的span本身设置了红色,但:before伪元素的颜色还是原来的#999,所以需要给hover状态下的:before伪元素单独加样式规则就行啦!

核心就是用span:hover:before这个选择器,它能精准选中被鼠标悬停的span元素的:before伪元素,然后覆盖它的颜色属性。

修改后的完整代码如下:

<link href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet"/>
<style>
span{ 
  color: #666; 
} 
span:before{ 
  content: "\f059"; 
  display: inline-block; 
  vertical-align: middle; 
  font-size: 15px; 
  font-family: FontAwesome; 
  color: #999; 
  margin-right: 10px; 
} 
/* 新增这个规则,hover时同步修改伪元素颜色 */
span:hover{ 
  color: red; 
}
span:hover:before{
  color: red;
}
</style>
<span>something</span>

这样设置后,当你把鼠标悬停在span元素上时,不仅文字会变成红色,前面的FontAwesome图标也会同步变成红色啦!

内容的提问来源于stack exchange,提问作者Martin AJ

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 03:43:37