elementui实现上下渐变星星

文章介绍了如何在Vue.js应用中使用el-rate组件,并通过JavaScript和CSS手动控制评分星星的颜色。通过设置背景渐变、文本填充颜色来改变已选星星的亮色效果,同时调整未选星星为灰色。此方法展示了对前端组件的自定义能力。
摘要由CSDN通过智能技术生成

 实现如图所示效果

使用el-rate组件

<el-rate
    ref="rates"
    v-model="this.rating"
    disabled
    disabled-void-class
  >
  </el-rate>

手动控制星星颜色

  const lightStars = this.$refs.rates.$el.querySelectorAll(
      `.el-rate__item:nth-of-type(-n+${this.rating}) i`
    )
    const greyStars = this.$refs.rates.$el.querySelectorAll(
      `.el-rate__item:nth-of-type(-n+5) i`
    )
    for (let j = 0; j < this.rating; j++) {
      lightStars[j].style.background =
        'linear-gradient(to bottom, #fabb72 35%, #09a4c0 100%)'
      lightStars[j].style['-webkit-background-clip'] = 'text'
      lightStars[j].style['-webkit-text-fill-color'] = 'transparent'
    }
    const greyNum = 5 - this.rating
    for (let i = 0; i < greyNum; i++) {
      greyStars[this.rating + i].style.color = '#222744'
    }

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值