新闻中心

在css中如何制作评分星星组件

2025-10-09
浏览次数:
返回列表
使用Unicode符号可实现静态评分展示,通过HTML与CSS结合创建可交互星级评分,利用伪元素和渐变背景支持半星效果,满足不同场景需求。

在css中如何制作评分星星组件

在CSS中制作评分星星组件,可以通过字体图标、Unicode符号或背景图片实现。最常见且简单的方式是使用Unicode星星符号配合HTML与CSS结合,支持点击评分和显示半星效果。

使用Unicode星星创建静态评分

通过Unicode字符(★ 和 ☆)表示实心和空心星星,适合展示固定评分。

示例代码: ```html ★★★☆☆ ```
.rating {
  font-size: 24px;
  color: #ffcc00;
  letter-spacing: 2px;
}

这种方式简单直接,适用于只读评分展示。

实现可交互的点击评分

利用隐藏的单选按钮(radio)和CSS样式模拟可点击的星星评分。

<div class="star-rating">
  <input type="radio" name="rating" id="star1" value="1">
  <label for="star1">★</label>
  <input type="radio" name="rating" id="star2" value="2">
  <label for="star2">★</label>
  <input type="radio" name="rating" id="star3" value="3">
  <label for="star3">★</label>
  <input type="radio" name="rating" id="star4" value="4">
  <label for="star4">★</label>
  <input type="radio" name="rating" id="star5" value="5">
  <label for="star5">★</label>
</div>
.star-rating {
  display: flex;
  direction: row-reverse;
  gap: 2px;
  font-size: 30px;
  margin: 10px 0;
}

.star-rating input {
  display: none;
}

.star-rating label {
  color: #ddd;
  cursor: pointer;
  transition: color 0.2s;
}

.star-rating label:hover,
.star-rating label:hover ~ label {
  color: #ffcc00;
}

.star-rating input:checked ~ label {
  color: #ffcc00;
}

说明:将radio按钮反向排列,方便使用~选择器控制后续标签变色。鼠标悬停时高亮从当前星到末尾的所有星。

青泥AI 青泥AI

青泥学术AI写作辅助平台

青泥AI 360 查看详情 青泥AI

支持半星和更精细的评分显示

使用伪元素和宽度控制实现半星效果,适合用于展示如3.5星这样的评分。

<div class="rating-bar" style="--rating: 3.7"></div>
.rating-bar {
  --rating: 0;
  width: 100px;
  height: 20px;
  background: linear-gradient(to right, 
    #ffcc00 calc(var(--rating) * 20%), 
    #ddd calc(var(--rating) * 20%));
  border-radius: 4px;
  position: relative;
  background-image: repeating-linear-gradient(
    to right,
    transparent,
    transparent 19px,
    #ccc 19px,
    #ccc 20px
  );
  background-size: 20px 20px;
}

.rating-bar::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: calc(var(--rating) * 20px);
  height: 100%;
  background: #ffcc00;
  mask: repeating-linear-gradient(
    to right,
    transparent,
    transparent 10px,
    black 10px,
    black 20px
  );
  -webkit-mask: repeating-linear-gradient(
    to right,
    transparent,
    transparent 10px,
    black 10px,
    black 20px
  );
}

此方法用渐变背景模拟填充,结合mask实现半星锯齿效果,适合高精度评分展示。

基本上就这些。根据需求选择只读、交互或半星方案,灵活搭配即可。

以上就是在css中如何制作评分星星组件的详细内容,更多请关注其它相关文章!


# 中文网  # 任丘优化seo价格  # 天津谷歌seo公司地址  # 2018年seo怎么做  # 堂食线下营销推广  # 提高关键词排名软文案例  # 淮安网站建设论坛  # 爱站工具seo包  # 通州区网站建设什么价格  # 江北区网站推广方案  # 北碚网站建设高端费用  # 最常见  # 解决问题  # css  # 可以通过  # 相关文章  # 适用于  # 鼠标  # 两种类型  # 中不  # 选择器  # 排列  # css样式  # 伪元素  # html 


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


相关推荐: 火狐浏览器占用内存高卡顿怎么办 火狐浏览器性能优化设置技巧  微博网页版怎么开启两步验证_微博网页版账号安全两步验证设置方法  Go RPC HTTP服务正确实现与常见陷阱解析  12306选座系统怎么选连座_12306选座多人连坐操作方法  印象笔记如何设离线包出差查阅_印象笔记设离线包出差查阅【离线阅读】  免费抖音短视频入口_抖音网页版短视频免费通道  俄罗斯搜索引擎Yandex指南 附2025年免登录官网入口  Go与Ruby之间实现AES加密互通:CFB模式下的密钥长度匹配策略  c++ 获取系统当前时间 c++时间戳获取方法  PHP URL参数传递与500错误调试指南  Golang如何通过reflect获取匿名字段方法_Golang reflect匿名字段方法访问技巧  mysql密码锁定怎么解锁_mysql密码锁定解锁后修改密码步骤  UC浏览器官网入口2025最新 UC浏览器网页版正式地址  CSS图片焦点样式实现教程:理解与应用tabindex属性  汽水音乐车机版横屏版7.1 汽水音乐车机版横屏版下载入口  高德地图沿途添加点失败如何解决 高德多点规划方法  美团外卖商家服务中心入口 美团商家版官网入口  qq游戏跨平台入口_qq游戏多设备同步登录  Python中如何避免重复条件判断:利用数据结构实现动态逻辑  age动漫网站入口 age动漫官网直接访问入口  谷歌邮箱注册显示错误Gmail服务器异常与延迟处理  漫蛙2在线漫画入口 漫蛙正版漫画网页版直达  一加手机电池耗电快怎么办_一加手机电池耗电快的解决方法  Win11如何开启讲述人功能 Win11屏幕阅读器(讲述人)开启与关闭【教程】  Excel文件在线转换快速入口 Excel在线格式转换网站  vivo手机互传视频怎么操作_vivo手机互传视频详细传输方法  Win11怎么关闭快速启动_Win11彻底关机设置教程  妖精动漫免费平台 妖精动漫官网资源观看网址  2026春节假期票务安排_2026春节放假购票指南  mcjs网页版流畅运行 mcjs低配电脑畅玩入口  J*a如何使用AtomicInteger控制计数_J*a无锁计数器性能分析  qq游戏大厅官方下载_qq游戏免费下载安装入口  Windows10怎么开启存储感知 Windows10系统设置自动清理临时文件释放C盘空间【教程】  XML中包含HTML标签导致解析错误? 正确嵌入非XML数据的两种方法  如何修改开机登录密码_Windows账户安全设置超详细教程【必学】  sublime如何处理大型CSV文件的列对齐_sublime高级表格编辑插件指南  学习通网页版快速入口 学习通官网网页版直接打开  Golang如何使用new_Go new分配内存机制讲解  蛙漫正版漫画平台入口_蛙漫免费阅读全站漫画资源  C++如何操作注册表_Windows平台下C++读写注册表的API函数详解  vivo浏览器自带的下载器速度慢怎么办 vivo浏览器提升文件下载速度的技巧  拼多多视频播放卡顿如何处理 拼多多视频播放优化技巧  怎样使用“本地安全策略”提升Windows安全性_Secpol.msc配置指南【高手】  Lar*el的路由模型绑定怎么用_Lar*el Route Model Binding简化控制器逻辑  初次安装JDK时环境变量如何正确配置_J*A_HOME与PATH设置规则讲解  Node.js CSV 数据处理:基于字段空值条件过滤整条记录的策略  c++中的const_cast和reinterpret_cast怎么用_c++四种类型转换  MAC怎么安装Homebrew包管理器_MAC为开发者和高级用户安装命令行工具  Golang如何优雅处理error_Golang error处理最佳实践总结  ArchiveofOurOwn小说阅读-ArchiveofOurOwn同人作品访问链接 

搜索