如何用css实现一个rate评分


今天小编给大家分享一下如何用css实现一个rate评分的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。
  梳理如下:
  去找个好看的iconfont,[Iconfont-阿里巴巴矢量图标库]、;
  借用5个radio单选框,把默认样式都去掉,显示默认的星星;
  用checked伪类监听用户选中,由默认的星星变成高亮的星星;
  然后配合——兄弟操作符把当前选中的所有兄弟元素都一起高亮;
  把5个radio单选框反向排列 ;
  代码
  这是我事先生成好的iconfont
  cdn.com/t/font_1356455_c5d3d3ohlbq.css”>
  一个很简洁的布局:
  
  
  
  
  
  
  
  先把默认的星星显示出来:
  // 去掉默认样式
  input {
  -webkit-appearance: none;
  border: none;
  outline: none;
  cursor: pointer;
  }
  .rate-content {
  $main: #ffa822; // 高亮颜色
  $basic: #999; // 默认颜色
  // 单个星星
  input[name=”rate”] {
  font-family: “iconfont”; // 之前引入的iconfont字体
  font-size: 30px;
  padding-right: 10px;
  // 默认显示的星星
  &::after {
  content: “e645″;
  color: $basic;
  transition: color .4s ease; // 加点颜色过渡效果
  }
  }
  }
  实现选中单个星星:
  input[name=”rate”] {
  // 高亮的星星
  &:checked {
  &::after {
  content: “e73c”;
  color: $main;
  }
  }
  }
  实现连同兄弟元素一起高亮:
  input[name=”rate”] {
  // 高亮的星星
  &:checked,
  &:checked —— input[name=”rate”] {
  …
  }
  }
  效果如下:
  然后把input反向排列:
  .rate-content {
  display: flex;
  flex-flow: row-reverse;
  }
  鼠标移入预览选中效果:
  罗嗦版:
  input[name=”rate”] {
  // 高亮的星星
  &:checked,
  &:checked —— input[name=”rate”],
  &:hover,
  &:hover —— input[name=”rate”] {
  …
  }
  }
  优化版:
  input[name=”rate”] {
  // 高亮的星星
  &:checked,
  &:hover {
  &::after {
  content: “e73c”;
  color: $main;
  }
  // 兄弟元素一起高亮
  & —— input[name=”rate”] {
  &::after {
  content: “e73c”;
  color: $main;
  }
  }
  }
  }
  加入放大动画
  input[name=”rate”] {
  transition: transform .2s ease; // 加入过渡效果
  // 高亮的星星
  &:checked,
  &:hover {
  …
  }
  // 鼠标移入使星星放大
  &:hover {
  transform: scale(1.2);
  }
  }
  总结
免费云主机域名   核心代码其实就是这两段,其他都是可选的
  元素反向排列:
  display: flex;
  flex-flow: row-reverse;
  兄弟元素操作:
  input:checked —— input
  如果不用flex反向排列,还可以用rotateZ:
  .rate-content {
  display: flex;
  // flex-flow: row-reverse;
  transform: rotateZ(180deg);
  }
  z轴旋转180deg之后发现星星的头跟尾巴反过来了,那么子元素也旋转180deg即可:
  .rate-content {
  input[name=”rate”] {
  transform: rotateZ(180deg);
  }
  }
  需要注意的细节
  input[name=”rate”] {
  // padding-right: 10px;
  margin-right: 10px;
  }以上就是“如何用css实现一个rate评分”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注百云主机行业资讯频道。

相关推荐: spark运行时如何使用yarn分配资源并设置–num-executors参数

这篇文章主要介绍了spark运行时如何使用yarn分配资源并设置–num-executors参数,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。运行时使用yarn分配资源,并设置–num-ex…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 08/13 16:38
下一篇 08/13 16:38

相关推荐