新闻中心

如何使用CSS制作简单评分星星_hover与伪类结合

2025-11-13
浏览次数:
返回列表
使用CSS的:hover和::before伪元素,结合兄弟选择器~,可实现鼠标悬停时从左到右高亮显示星形评分的效果,通过data-value标记分值,利用Unicode字符“★”在span元素前插入星星,默认颜色设为灰色,悬停时及其后续兄弟元素的::before颜色变为金色,从而达成无需J*aScript的交互式星级评分效果。

如何使用css制作简单评分星星_hover与伪类结合

想用CSS实现一个简单的评分星星效果,让用户在鼠标悬停时看到高亮的星形反馈?只需要结合 :hover::before(或 ::after)伪元素,就能做出美观又轻量的交互效果,无需J*aScript。

基本HTML结构

使用一组带类名的空元素(如span),每个代表一颗星。通过data属性标记分值,便于样式控制:

<div class="rating">
  <span class="star" data-value="1"></span>
  <span class="star" data-value="2"></span>
  <span class="star" data-value="3"></span>
  <span class="star" data-value="4"></span>
  <span class="star" data-value="5"></span>
</div>

用伪类显示星形

借助字体图标(比如Font Awesome)或Unicode字符,通过 ::before 插入星形符号。默认为灰色空心星,悬停及之前的星星变为实心黄色:

Tanka Tanka

具备AI长期记忆的下一代团队协作沟通工具

Tanka 146 查看详情 Tanka
.star {
  display: inline-block;
  font-size: 24px;
  color: #ccc;
  cursor: pointer;
}

.star::before {
  content: "★";
  color: #ddd;
}

.star:hover,
.star:hover ~ .star {
  color: transparent;
}

.star:hover::before,
.star:hover ~ .star::before {
  color: gold;
}

实现悬停累积效果

关键是利用兄弟选择器 ~。当某个星被hover时,它和它之后的所有兄弟.star都会触发样式变化。通过控制 ::before 的颜色,实现“从左到右点亮”的视觉反馈:

  • 给每个 star 添加 hover 状态
  • 用 ~ 选择后续所有 star
  • 统一修改它们伪元素的颜色
  • 确保父容器 display 正确,避免换行影响

基本上就这些。不复杂但容易忽略细节,比如 color 和 ::before 颜色要分开处理,否则会重复上色。这种做法兼容性好,适合静态评分展示或简单交互场景。

以上就是如何使用CSS制作简单评分星星_hover与伪类结合的详细内容,更多请关注其它相关文章!


# 就能  # 陈安之营销推广  # 刷关键词排名招商信息  # 金堂企业网站建设收费  # 番禺网站建设公司推荐  # 惠阳网站关键词优化价格  # 潮州企业网站推广有哪些  # seo只找7火星软件  # 短视频营销推广常见问题  # 建阳区正规seo技术  # 甘泉百度推广营销公司  # 相关文章  # 一颗  # 设为  # css  # 两种类型  # 分值  # 中不  # 鼠标  # 如何使用  # 选择器  # 伪元素  # go  # html  # java  # javascript  # 评分星星 


相关栏目: 【 科技资讯46185 】 【 网络学院92790


相关推荐: 离线运行Go语言之旅:本地部署与GOPATH配置指南  QQ邮箱电脑版登录入口_QQ邮箱官方网站登录平台  韩剧圈正版入口页面_韩剧圈官网登录链接  Golang如何实现Web文件静态资源服务器_Golang静态资源服务器开发与实践  动漫共和国防屏蔽稳定域名-动漫共和国官方正版直达通道  css链接悬停下划线样式如何自定义_使用::after结合content和transition  铁路12306的积分有效期是多久_铁路12306积分有效期说明  解决Bootstrap卡片顶部边距导致背景图下移的问题  Win11截图该按哪些键 Win11截屏完整流程解析【教程】  顺丰快递查单号物流信息 顺丰快递小程序查询入口  蛙漫安全无毒 官方认证的绿色入口  批改网学生版PC登录 批改网官网登录系统入口  使用CSS更改登录屏幕输入框中PNG图标颜色的策略与局限性  微信客户端如何收红包_微信客户端接收红包使用教程  Yandex搜索引擎一键访问入口_俄罗斯Yandex官网免登录  c++如何使用chrono库处理时间_c++标准库时间与日期操作  Win11怎么开启卓越性能模式 Win11电源选项启用高性能释放硬件潜力【方法】  押井守高度称赞《辐射4》:玩了八年都停不下来!  Win11怎么设置鼠标指针速度_Win11提高鼠标指针精确度选项  css绝对定位元素脱离父容器怎么办_确保父元素position非static  FullCalendar 自定义按钮样式定制指南  深入理解J*a编译器的兼容性选项:从-source到--release  漫蛙漫画网页端入口 漫蛙2官方正版漫画站点  如何使用spryker/configurable-bundles-products-resource-relationship模块解决复杂产品捆绑关系难题  NRF24L01数据传输深度解析:解决大载荷接收异常与分包策略  C++如何进行游戏物理模拟_使用Box2D库为C++游戏添加2D物理效果  mysql通配符支持数字匹配吗_mysql通配符能否用于数字匹配的解析  Basecamp怎样用留言钉固定重点_Basecamp用留言钉固定重点【重点标记】  QQ官网正版登录链接 QQ在线登录入口最新  AO3最新入口2025公告_AO3中文官网合集  如何优雅地解决Livewire文件上传难题?SpatieLivewireFilepond让一切变得简单  台积电1.4nm工艺A14瞄准2028:10年来性能提升80%  Safari怎么安装扩展程序 浏览器插件安装与管理方法【详解】  J*aScript教程:根据元素文本内容动态设置背景色  深入理解Google Cloud Datastore查询:祖先路径与数据一致性  Golang如何通过reflect操作map_Golang reflect map操作与遍历技巧  Spring Boot内嵌服务器与J*a EE全栈特性:选择与部署策略  AO3网页版合集入口 Archive of Our Own同人作品浏览指南  葱吃多了会怎样 葱吃多了会伤胃吗  BetterDiscord插件中安全更新用户简介的实践指南  蛙漫限时开放最深处链接_蛙漫全站漫画会员同款秒开地址  品牌机怎么重装系统 联想/戴尔/惠普笔记本恢复出厂系统教程  Composer的 archive 命令怎么用_快速打包你的PHP项目及其Composer依赖  神庙逃亡小游戏在线玩 神庙逃亡小游戏入口  抓大鹅解压小游戏 抓大鹅摸鱼解压入口  Angular响应式表单:实现提交后表单及按钮的禁用与只读化  Win10怎么设置静态IP地址 Win10手动配置IP地址步骤【指南】  知音漫客官网漫画下载_知音漫客网页版阅读记录  如何在网页中实现特定地点的随机图片展示  韩小圈电脑版在线入口_网页版免费登录地址 

搜索