css3 雪碧图实现数字切换

vue中css 雪碧图应用及数字切换demo
<template>    <div class="total">        <div class="content">            <span class="number" v-for="item in numberObj" :class="item.classObj"></span>        </div>    </div></template>

<script type="text/babel">    export default {        data() {            return {                total: ‘12451‘,                numberObj: [                    {                        classObj: ‘‘                    },                    {                        classObj: ‘‘                    },                    {                        classObj: ‘‘                    },                    {                        classObj: ‘‘                    },                    {                        classObj: ‘‘                    },                    {                        classObj: ‘‘                    },                    {                        classObj: ‘‘                    },                    {                        classObj: ‘‘                    },                    {                        classObj: ‘‘                    }                ]            };        },
       mounted() {        setTimeout(function () {            this.total = 12451;        }, 1000 * 30);    },    watch: {        ‘total‘(newVal, oldVal){            this.total = newVal;            this.refresh();        }    },    methods: {        refresh: function () {            let length = this.total.toString().length;

    for (let i = 1; i <= length; i++) {                let _number = parseInt(this.total % Math.pow(10, i) / Math.pow(10, (i - 1)));                   this.numberObj[9-i].classObj = [‘position_‘ + _number, ‘highLight‘];            }        }    }
    };</script>
.number {    flex: none;    margin: 0 2px;    height: 34px;    width: 21px;    background-image: url("/image/number/css-sprites-x1.png");    @media only screen and (min-device-pixel-ratio: 2) {        background-image: url("/image/number/css-sprites-x2.png");    }

&.highLight{        background-image: url("/image/number/css-sprites-highlight-x1.png");        @media only screen and (min-device-pixel-ratio: 2) {            background-image: url("/image/number/css-sprites-highlight-x2.png");        }    }

background-position: 48px 0;

&.position_0 {        background-position: -1px 0;

}    &.position_1 {        background-position: -22px 0;

}    &.position_2 {        background-position: -43px 0;

}    &.position_3 {        background-position: -70px 0;

}    &.position_4 {        background-position: -97px 0;

}    &.position_5 {        background-position: 129px 0;

}    &.position_6 {        background-position: 102px 0;

}    &.position_7 {        background-position: 72px 0;

}    &.position_9 {        background-position: 21px 0;

}}

效果图:

 

时间: 2024-10-21 09:41:28

css3 雪碧图实现数字切换的相关文章

CSS3技术-雪碧图自适应缩放

花了一个礼拜完成了慕课网定制的七夕主题效果,其中有一个没实现好的功能,就是雪碧图的自适应缩放 ps: 以下实现都是基于移动端的处理 原图如下: 人物是采用的是雪碧图,通过坐标绝对数据取值 问题很明显,在缩放的屏幕上人物还是按照原尺寸大小显示 后来临时留了一节预备的方案:CSS3的scale处理直接可以让元素缩放 通过一个缩放的算放控制scale从而让雪碧图的元素可以缩放,目测还是不错. 但是这会带一系列的计算问题,因为通过sacle缩放后的元素,在浏览器布局中还是按照原尺寸计算的,所以这样的方案

自适应页面中如何使用雪碧图

自适应页面你肯定听说过,雪碧图想必你也听说过,不过在自适应页面中使用雪碧图应用的场景却不多,因为很多场景里自适应页面(移动端页面)的小图标啥的基本都做成字体图标了,操作起来也比较方便,不过有时候合成字体图标的时候也比较麻烦,AI制作复杂svg矢量图标很麻烦,今天说的这个应用场景用的就是这个情况: 首先你要知道什么是雪碧图,不知道的先科普之,百毒传送门: 上面说到有的场景添加字体图标很麻烦,如果不理解看下图就明白了: 没错,就是这个国旗,有几十个国家的,这要搞成svg矢量图那要累死了(如果有大神有

css 雪碧图 及jquery定位代码

无意间发现了一个很神奇的事情,就是 鼠标悬停在图片上方会切换,起初以为图标是单独插入的.但发现居然是一张完整的图片. 一万只草泥马在心中奔腾.这是怎么实现的? 后来询问得知,这是css精灵技术(sprite) 也叫雪碧图. CSS知识点: background-image backgorund-position 特点: 相对于当个小图标,它节省文件体积和服务请求次数.将所有零碎的网页背景图片整合到一起,这样做可以有效的减少http对图片的请求次数,而不需要加载多次加载零碎的背景图片,所以合理的利

CSS雪碧图的一个小案列

以前只是听说过雪碧图没用过,然后来了这里做的第一个活儿就涉及到他.因为怕不会用,就用他们原来切的,那个调的费事啊,算那个background-position困难的啊.原因是他们的雪碧图切放在了一起,没有留有空隙,所以,只能用一个废标签去专门放一个图标.现在发现雪碧图还是很有用的,把所有要用的图片放在一起,然后根据定位来调出要用的图片很方便. 随便写了个小demo:http://codepen.io/tianzi77/pen/xGGMBO 参照网站底部鼠标放上去的时候有一个切换效果. 代码也很简

CSS基础知识之背景图片样式属性、雪碧图、列表导航栏、超链接的伪类样式、盒子模型、overflow、圆角弧度

目录: 背景图片样式属性 雪碧图 列表导航栏 超链接的伪类样式 盒子模型. overflow. 圆角弧度 背景图片样式属性: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <style> #imgContainer { border: 20px dotted yellow; padding: 50px; height: 400p

CSS Spritec下载,精灵图,雪碧图,初探之原理、使用

CSS Spritec下载,精灵图,雪碧图,初探之原理.使用 关于CSS Sprite CSSSprites在国内很多人叫css精灵雪碧图,是一种网页图片应用处理方式.它允许你将一个页面涉及到的所有零星图片都包含到一张大图中去,这样一来,当访问该页面时,载入的图片就不会像以前那样一幅一幅地慢慢显示出来了.对于当前网络流行的速度而言,不高于200KB的单张图片的所需载入时间基本是差不多的,所以无需顾忌这个问题. 加速的关键,不是降低重量,而是减少个数.传统切图讲究精细,图片规格越小越好,重量越小越

使用雪碧图Css Sprite精灵 | 加速网页响应速度

什么是CSS Sprite精灵? 是用于前端的一种图片应用技术,通常情况,我们的开发的网页或许有很多张图片,假如在一个页面上有50多张小图片,这意味着浏览器要逐个下载50张图片.Css Sprite它允许你将一个页面涉及到的所有零星图片都包含到一张图中,这样一来,当访问页面时,就只需要下载1张图片了,这显然大大减低了服务器请求压力. 这个技术加速网页响应速度,加速的关键,不是降低质量,而是减少个数.传统切图讲究精细,图片规格越小越好,重量越小越好,其实规格大小无所谓,计算机统一都按byte计算.

vue 整合雪碧图功能

1.通过命令新建一个vue项目 环境要求: 安装有 Node.js. vue. vue-cli . 创建项目: vue init webpack tx_demo cd tx_demo 进入项目,下载依赖: // 最新版已经无需安装依赖初始化,可直接运行下面的命令 npm install 或者 cnpm install 运行项目: npm run dev 2.由于我用的是sass样式,所以安装sass依赖 npm install node-sass sass-loader 3.配置雪碧图功能 先安

什么是雪碧图?它的优缺点是什么?

雪碧图:将多张图片整合到一张图片上,利用ps设置器位置,展示到网页上 <head> <meta charset="UTF-8"> <title>Document</title> <style> .sprite{ /* 1. 定视口 */ width: 180px; height: 180px; border: 1px solid; /* 2. 插图 */ background-image: url("../img/s