效果

效果图如下,纯css实现超酷炫的星级评分动画效果

​

实现思路

  1. 5个类型为radio的input,label标签修改样式背景图为星星
  2. label标签给每个星星鼠标停留时加注名字
  3. 点击星星有放大旋转的动画

dom结构

用form实现

<form>
<div class="star">
<input type="radio" id="rate5" name="rating" value="5">
<label for="rate5" title="Amazing"></label> <input type="radio" id="rate4" name="rating" value="4">
<label for="rate4" title="Good"></label> <input type="radio" id="rate3" name="rating" value="3">
<label for="rate3" title="Average"></label> <input type="radio" id="rate2" name="rating" value="2">
<label for="rate2" title="Not good"></label> <input type="radio" id="rate1" name="rating" value="1">
<label for="rate1" title="Terrible"></label>
</div>
</form>

css样式

css按步骤来实现,

1、星星图片样式

首先是星星图片嘛~

​

.star{
display: block;
position: relative;
width: 150px;
height: 60px;
padding:;
border: none;
} .star > input{
position: absolute;
margin-right: -100%;
opacity:;
} .star > label{
position: relative;
display: inline-block;
float: right;
width: 30px;
height: 30px;
color: transparent;
background-image: url("../rotate-star/images/starIcon.png");
background-repeat: no-repeat;
}

2、点击星星的时候,灰星星变黄星星,顺便把input点击的外边框去掉,巨丑

.star > input:focus + label{
outline: none;
} .star > input:checked~label,
.star > input:focus~label,
.star > input:hover~label{
background-position: 0 -30px;
}

3、通过before伪元素,新增一个隐藏着的星星,来做旋转放大的动画

.star > label:before{
display: none;
position: absolute;
content: " ";
width: 30px;
height: 30px;
background-image: url("../rotate-star/images/starIcon.png");
background-repeat: no-repeat;
bottom:;
} .star > input:checked + label:before{
display: block;
animation-name: rotateStar;
animation-duration: 1s;
animation-fill-mode: forwards;
} @keyframes rotateStar{
0%{
transform: scale(1) rotate(0);
} 95%{
transform: scale(4) rotate(90deg);
opacity:;
} 100%{
transform: scale(1) rotate(0);
opacity:;
}
}

OK,按着步骤来,你也可以在你的页面上实现酷炫的星级评分效果咯~

纯css实现星级评分效果的更多相关文章

  1. 基于 bootstrap 字体图标,用纯CSS实现星级评分功能

    需要用到的图标 实现原理 关键属性是 text-overflow: clip;,表示直接截断文本.我们经常用这个属性的另一个值 text-overflow: ellipsis; 来做省略表示. 先平铺 ...

  2. 用css制作星级评分

    Step 1: XHTML <ul class="star-rating">       <li><a href="#" titl ...

  3. jQuery动态星级评分效果实现方法

    本文实例讲述了jQuery动态星级评分效果实现方法.分享给大家供大家参考.具体如下: 这里的jQuery星级评分代码,是大家都很喜欢的功能,目前广泛应用,本星级评分加入了动画效果,注意,如果要真正实现 ...

  4. 不可思议的纯 CSS 实现鼠标跟随效果

    直接进入正题,鼠标跟随,顾名思义,就是元素会跟随着鼠标的移动而作出相应的运动.大概类似于这样: 通常而言,CSS 负责表现,JavaScript 负责行为.而鼠标跟随这种效果属于行为,要实现通常都需要 ...

  5. 不可思议的纯 CSS 滚动进度条效果

    结论先行,如何使用 CSS 实现下述滚动条效果? 就是顶部黄色的滚动进度条,随着页面的滚动进度而变化长短. 在继续阅读下文之前,你可以先缓一缓.尝试思考一下上面的效果或者动手尝试一下,不借助 JS , ...

  6. 纯css实现翻书效果

    前言 最近研究了一下css3的3D效果,写了几个demo,写篇博客总结一下实现的经过.PS:如果对transform-origin/perspective/transform-style这些概念还不了 ...

  7. js实现星级评分效果(非常规5个li代码)

    1. 前言 此方案受到JS单行写一个评级组件启发,自己写了一个简单Demo. 功能有正常滑动,动态显示实心星星个数:当点击确认,则保持当前的实心星星个数:再移动时未点击,则离开后还是保持之前的状态. ...

  8. CSS3 - vue中纯css实现柱状图表效果

    背景 以前我们制作柱状图都用echarts或者其他同类型的图表插件 这次是个移动端的需求,而且这个图表需要动画 使用echarts就会显得过重,而且动画达不到我想要的效果(主要是我自己愚蠢想不到好的动 ...

  9. 纯CSS焦点轮播效果-功能可扩展

    个人博客: http://mcchen.club 纯CSS3实现模拟焦点轮播效果,支持JQ等扩展各项功能.废话少说,直接贴代码. <!DOCTYPE html> <html> ...

随机推荐

  1. Qt 鼠标悬浮按钮上出现浮窗效果

    操作: 鼠标hover于Btn(or other widget),在指定位置显示想要的widget(或其他控件窗口) 方法:重载以下几个api void paintEvent(QPaintEvent ...

  2. 浅谈Java集合体系及底层实现原理

    集合加载因子 https://blog.csdn.net/qq_34627002/article/details/79769261 底层原理: https://blog.csdn.net/qq_258 ...

  3. Anacond的介绍

    Anacond的介绍 Anaconda指的是一个开源的Python发行版本,其包含了conda.Python等180多个科学包及其依赖项. 因为包含了大量的科学包,Anaconda 的下载文件比较大( ...

  4. hdu 1693 : Eat the Trees 【插头dp 入门】

    题目链接 题意: 给出一个n*m大小的01矩阵,在其中画线连成封闭图形,其中对每一个值为1的方格,线要恰好穿入穿出共两次,对每一个值为0的方格,所画线不能经过. 参考资料: <基于连通性状态压缩 ...

  5. handy源码阅读(三):SafeQueue类

    SafeQueue类继承与信号量mutex(用于加锁),nonocopyable 定义如下: template <typename T> struct SafeQueue : privat ...

  6. C#第一个程序Helloworld

  7. Cluster基础(三):配置HAProxy负载平衡集群、Keepalived高可用服务器、Keepalived+LVS服务器

    一.配置HAProxy负载平衡集群 目标: 准备三台Linux服务器,两台做Web服务器,一台安装HAProxy,实现如下功能: 客户端访问HAProxy,HAProxy分发请求到后端Real Ser ...

  8. 【HDOJ6645】Stay Real(堆)

    题意:给定一个n个点的堆,每个点有一个值a[i],每个点必须将在其所有儿子被取之后才能被取 有两个人都按最佳策略行动,问结束之后两人分别取的值之和 n<=1e5,1<=a[i]<=1 ...

  9. Best Practices For Running On The PS4

    原文:https://forums.unrealengine.com/showthread.php?54448-Best-Practices-For-Running-On-The-PS4 Hey gu ...

  10. linux设备驱动第四篇:从如何定位oops的代码行谈驱动调试方法

    上一篇我们大概聊了如何写一个简单的字符设备驱动,我们不是神,写代码肯定会出现问题,我们需要在编写代码的过程中不断调试.在普通的c应用程序中,我们经常使用printf来输出信息,或者使用gdb来调试程序 ...