纯纯css如何hover之后变成动态图标呢

html-css021

纯纯css如何hover之后变成动态图标呢,第1张

今天学习一个炫酷的小技能,纯纯css实现动态图标,hover之后静止在某一个图标。

Demo效果如下:

到这里我们的 HTML 文件就全部写完啦

这时候我们就可以得到一个图片的效果。

这里小图标总共有 11 张,相互之间的变化就是 10 步,所以动画设置如下

这样就得到了一个无限循环的逐帧动画

这样下来,默认就不会动了,然后在hover的时候“运行”就行了

<!doctype html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <meta http-equiv="X-UA-Compatible" content="ie=edge">

    <title>Document</title>

    <style>

        body {

            background-color: #000

            text-shadow: 2px 3px 10px #FF1717

            font-size: 60px

            font-weight:bold

            transition: color 1s

            color: #000

        }

        .color {

            color: #fff

        }

    </style>

</head>

<body>

    <div>我会一闪一闪的</div>

    <script>

        setInterval(function () {

            if (!document.body.className) {

                document.body.className = 'color'

            } else {

                document.body.className = ''

            }

        }, 500)

    </script>

</body>

</html>

什么是icon?让我们先来看一个例子:

我们以为例子,图中看到的用圆圈起来的部分都是icon

这个时候你就想问了,这不就是几张图片么?

不,它不是图片,而是文字

什么??这怎么可能是文字,文字怎么会是这样的?...

正如你所看到的,现在市面上大多数网页使用的图标都是类似这样的形式,也有不少icon图标库可供我们使用

它的实现方式有:

首先我们需要了解:

如何让页面展示一个图标呢?我们可以把图标当成文字来操作,步骤如下:

下面是具体用法范例,大家可以一试:

或者

CSS Sprites在国内很多人叫css精灵(雪碧图),是一种网页图片应用处理方式。它允许你将一个页面涉及到的所有零星图片都包含到一张大图中去,这样一来,当访问该页面时,载入的图片就不会像以前那样一幅一幅地慢慢显示出来了。对于当前网络流行的速度而言,不高于200KB的单张图片的所需载入时间基本是差不多的,所以无需顾忌这个问题。

加速的关键,不是降低质量,而是减少个数。传统切图讲究精细,图片规格越小越好,重量越小越好,其实规格大小无所谓,计算机统一都按byte计算。客户端每显示一张图片都会向服务器发送请求。所以,图片越多请求次数越多,造成延迟的可能性也就越大。

例子:

引用该类 .. 然后在元素中逐一定义背景坐标 .. 以下为关键属性 ..

必须要限定容器大小符合背景图元素位置 .. 另外 .. XY轴是相对于整张图片的左上角来算的 .. 所以取值一定要算清楚。