打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
谈谈CSS预处理技术中for循环的应用

各种新技术的出现,推动着Web前端技术飞速发展,在提升用户体验的同时也方便开发者;

在前端优化时,我们使用CSSSprite技术,把多个图片合在一张图片上,然后通过background-image,background-position来定位现实不同效果,这样来达到减少HTTP请求,毕竟HTTP请求是相当昂贵的,但是HTTP请求是少了,开发人员工作量就大了,要定位图片不是一件很方便的事情,非常麻烦,要一个一个地计算:

其实我们可以有点技巧,让图片排列有点规律,这样可以减少大量时间:

假如我们的图片是规律的,如每个区域高都是30px,这样我们可能通过结合Sass里for来快速现实对图片的定位:

scss:

@for $i from 0 to 17{      .d-icon-#{$i}{ background-position: -0 -#{+ $i*30}px; }}  

编译结果:css

.d-icon-0 { background-position: 0 -0px; }.d-icon-1 { background-position: 0 -30px; }.d-icon-2 { background-position: 0 -60px; }.d-icon-3 { background-position: 0 -90px; }.d-icon-4 { background-position: 0 -120px; }.d-icon-5 { background-position: 0 -150px; }.d-icon-6 { background-position: 0 -180px; }.d-icon-7 { background-position: 0 -210px; }.d-icon-8 { background-position: 0 -240px; }.d-icon-9 { background-position: 0 -270px; }.d-icon-10 { background-position: 0 -300px; }.d-icon-11 { background-position: 0 -330px; }.d-icon-12 { background-position: 0 -360px; }.d-icon-13 { background-position: 0 -390px; }.d-icon-14 { background-position: 0 -420px; }.d-icon-15 { background-position: 0 -450px; }.d-icon-16 { background-position: 0 -480px; }.d-icon-17 { background-position: 0 -510px; }.d-icon-18 { background-position: 0 -540px; }.d-icon-19 { background-position: 0 -570px; }

无论多少个图片,使用Sass一句话搞定,不是方便,是相当方便。

这里使用了@for $i from a to b;还是一种是@for $i from a through b;$i是一个变量,自己随便取,从a到b,to,through的区别是to 不包括b,through包括b,上面的例子,如果使用through,将多一个.d-cions-20{}

 

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
将多个图片整合到一张图片中再用CSS
CSS Sprite的应用
浅谈前端性能优化(五)——减少HTTP请求数
CSS制作三角形状
CSS截取大图片里面的小图标方法
纯CSS实现的右侧底部简洁悬浮效果
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服