效果

效果图如下,纯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. rabbit例子

    https://blog.csdn.net/csm201314/article/details/76377214 #include <SimpleAmqpClient/SimpleAmqpCli ...

  2. postgresql windows 服务启动失败

    1命令行 启动服务 pg_ctl -D "C:\Program Files\PostgreSQL\9.1\data" start 2 查看状态 pg_ctl -D "C: ...

  3. 使用JavaBean对象存储表格数据

    范例:表格内容接上篇 package cn.sxt.collection; import java.util.ArrayList;import java.util.Date;import java.u ...

  4. LYXF-PE-tools

    先随便说一下这个PE-tools有什么用? 我开发这款PE-tools是为了学习而开发的,且是开源的,这里我会提供源码链接.它可以解析windows 32/64位程序中比较常用的一些属性. 里面有个稍 ...

  5. Beats:如何创建一个定制的Elastic Beat

    Beats作为Elastic Stack家族中重要的部分.它可以和方便地让我们把我们的数据发送到Elasticsearch或Logstash之中.如果我们想要生成自己的Beat,请使用GitHub的b ...

  6. JIRA之两大统计图讲解

    一.创建与解决的问题-状态统计图 配置方式 理解该统计图 横坐标 x:时间 纵坐标 y:issue数量 统计图示解读: A.随着时间的推移,创建的问题数(红线)减少,修复问题数(绿线)增加,标志着版本 ...

  7. Day1 方法的重载

    方法的重载 方法的标识符包括: 1.方法名称   2.方法的参数(参数类型和参数的数量) 方法的重载:方法名称相同 但是方法参数不同(1.参数类型不同 2.参数类型相同 但是参数个数不同 3.类型和个 ...

  8. fread fwrite文本模式读写回车换行符 自动转换问题

    fread  会把\r\n(0d0a)替换为\nfwrite 会把\n替换为\r\n(0d0a),\r\n会变成\r\r\n(0d0d0a) 今天在写一个日志类,用于打印服务程序的信息. 我将每一个日 ...

  9. Markov Decision Process in Detail

    From the last post about MDP, we know the environment consists of 5 basic elements: S:State Space of ...

  10. python3 -tensorflow-dataset 之map函数 lambda隐函数的应用

    ###隐函数lanbda及map函数的应用实例 ''' lambda 参数1,参数2,参数3,...:表达式 ''' f = lambda x,y :x+y print(f(1,2)) ###输出3 ...