vue_music:排行榜rank中top-list.vue中样式的实现:class

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue_music:排行榜rank中top-list.vue中样式的实现:class相关的知识,希望对你有一定的参考价值。

技术分享图片

排行榜的歌曲列表,根据排名渲染不同的样式,同时需要考虑分辨率的2x 3x图

  1. 不同的样式——:class
  2. 考虑分辨率的2x 3x图——需要在stylu中的mixin中bgImage根据屏幕分辨率选择图片

1.功能


<div class="rank" v-show="rank">
  <span :class="getRankCls(index)">{{getRankText(index)}}</span>
</div>

在vue中绑定HTML Class,除了数组,对象语法,也可以使用函数返回值(不必使用v-if v-else等复杂逻辑)

在methods中定义,返回相应的class


getRankCls(index) {
  if (index <= 2) {
    return `icon icon${index}`
  } else {
    return 'text'
  }
},
getRankText(index) {
  if (index > 2) {
    return index + 1
  }
}

2.stylu处理分辨率


.icon
      display: inline-block
      width: 25px
      height: 24px
      background-size: 25px 24px
      &.icon0
        bg-image('first')
      &.icon1
        bg-image('second')
      &.icon2
        bg-image('third')

这里边重要的是bg-image函数


bg-image($url)
    background-image: url($url + "@2x.png")
    @media (-webkit-min-device-pixel-radio: 3),(min-device-pixel-radio: 3)
        background-image: url($url + "@3x.png")

device-pixel-radio:屏幕分辨率从而加载不同的图片

原文地址:https://segmentfault.com/a/1190000016926581

以上是关于vue_music:排行榜rank中top-list.vue中样式的实现:class的主要内容,如果未能解决你的问题,请参考以下文章

dtoj#4179. 排行(rank)

JavaScript排名排行榜[关闭]

mysql 查询排行榜, 查询用户第几名

PageRank引用排行:让网络变得有序 [ The PageRank Citation Ranking: Bringing Order to the Web ]

HDU-1811-Rank of Tetris

HDU 1811:Rank of Tetris(并查集+拓扑排序)