在 vue 中使用stylus 完成雪碧图

本文介绍了一个使用Stylus预处理器结合Vue.js实现雪碧图的应用案例。通过迭代生成不同位置的图标,并利用Stylus特性优化CSS代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近写一个小 demo ,由于刚学了 stylus ,想着用上去,然后要写雪碧图到页面上,我就感觉机会来了


图是这样的,不要问我是从哪里截下来的,我知道有点不符合雪碧图的 规范,但是 who cares ╮(╯▽╰)╭

上代码

html:

<div class="xuebi">
<a href="javascript:;" v-for="i in 12" :key="i">
<div class="xuebiIcon"></div>
</a>
</div>
stylus:

<style lang="stylus">
.xuebi
position relative
// 这里用了 rem 感觉和 stylus 中的全局变量差不多,但是原生,默认是 1rem = 12px
top 13.5rem
display flex
flex-wrap wrap
background-color white
border-radius 1rem
overflow hidden
// 使用 迭代,和 js 的 for循环差不多,就是数组什么的变成了 0 1 2
for num1 in 0 1 2
for num2 in 1 2 3 4
// {} 使用了 插值,这样能在原有的里面插入自己的值
a:nth-of-type({num1 * 4 + num2 }) .xuebiIcon
width 8.25rem
height 7.5rem
overflow hidden
// 使用静态链接的 地址,默认为 static 文件夹
background url('/static/img/homexuebi.png')
background-position (num2 - 1) * -7.5rem (num1) * -7.5rem
background-size 33rem 22.5rem


具体效果当然就是这样了,其实和之前那个 雪碧图(伪) 差不多 。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值