css常用效果——点赞点评效果

之前自己写过rate评分的效果,都是UI给的雪碧图,然后自己拼凑,所以这次我研究了一下用纯css来实现评分效果。

效果图

在这里插入图片描述

引入阿里图表库
 <link rel="stylesheet" href="https://at.alicdn.com/t/font_1356455_c5d3d3ohlbq.css">
dom结构
 <div class="rate-content">
        <input type="radio" name="rate" value="1">
        <input type="radio" name="rate" value="2">
        <input type="radio" name="rate" value="3">
        <input type="radio" name="rate" value="4">
        <input type="radio" name="rate" value="5">
    </div>
画默认的星星
 		/* 去掉默认样式 */
        input {
            -webkit-appearance: none;
            border: none;
            outline: none;
            cursor: pointer;
        }

        .rate-content {
            /* 高亮颜色 */
            --colorActive: #ffa822;
            /* 默认颜色 */
            --colorDefault: #999;
            width: 300px;
        }

        /* 单个星星 */
        .rate-content input[name="rate"] {
            font-family: "iconfont";
            /* 之前引入的iconfont字体 */
            font-size: 30px;
            overflow: hidden;
        }

        /* 默认显示的星星 */
        .rate-content input::after {
            content: "\e645";
            color: var(--colorDefault);
            /* 加点颜色过渡效果 */
            transition: color .4s ease;
        }

效果图如下:
在这里插入图片描述

实现选中单个星星
.rate-content input[name="rate"]:checked::after {
     /* 高亮的星星 */
     content: "\e73c";
     color: var(--colorActive);
}

效果图如下:
在这里插入图片描述

连同兄弟一起选中
/*单个的选中效果*/
.rate-content input[name="rate"]:checked::after,
/*连同剩下的兄弟一起选中*/
.rate-content input[name="rate"]:checked~input[name="rate"]::after {
      content: "\e73c";				  	 
      color: var(--colorActive);
}

效果图如下:
在这里插入图片描述

将input反向排列

在这里插入图片描述

鼠标移入预览效果
.rate-content input[name="rate"]:checked::after,
.rate-content input[name="rate"]:checked~input[name="rate"]::after,
/*单个的鼠标移入效果*/
.rate-content input[name="rate"]:hover::after,
/*连同剩下的兄弟一起*/
.rate-content input[name="rate"]:hover~input[name="rate"]::after {
       /* 高亮的星星 */
       content: "\e73c";
       color: var(--colorActive);
}

效果图如下:
在这里插入图片描述

星星的放大效果
/*移入放大*/
.rate-content input[name="rate"]:hover {
      transform: scale(1.2);
} 

效果图如下:
在这里插入图片描述

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值