本文主要是介绍vue_music:排行榜rank中top-list.vue中样式的实现:class,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
排行榜的歌曲列表,根据排名渲染不同的样式,同时需要考虑分辨率的2x 3x图
- 不同的样式——:class
- 考虑分辨率的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处理分辨率
.icondisplay: inline-blockwidth: 25pxheight: 24pxbackground-size: 25px 24px&.icon0bg-image('first')&.icon1bg-image('second')&.icon2bg-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
更多专业前端知识,请上 【猿2048】www.mk2048.com
这篇关于vue_music:排行榜rank中top-list.vue中样式的实现:class的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!