热点图制作

工具:VScode 

技术:HTML5+CSS3

运用C3动画 keyframes 改变波纹大小实现 

效果图:

完整代码如下:

<!DOCTYPE html>

<html lang="zh-CN">

 

<head>

    <meta charset="UTF-8">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>Document</title>

    <style>

        body {

            background-color: #333;

        }

        

        .bgimg {

            /* 设置地图背景图 */

            position: relative;

            width: 747px;

            height: 617px;

            background: url(img/map.png) no-repeat;

            margin: 0 auto;

        }

        

        .city {

            position: absolute;

            top: 225px;

            right: 185px;

            transition: all 0.5s;

        }

        

        .tb {

            /* 台北位置 */

            top: 500px;

            right: 80px;

        }

        

        .gz {

            /* 广州位置 */

            top: 534px;

            right: 185px;

        }

        

        .dotted {

            /* 设置中心圆点 */

            color: #fff;

            width: 8px;

            height: 8px;

            background-color: #09f;

            border-radius: 50%;

        }

        

        .city div[class^="pulse"] {

            /* 保证这三个小波纹子父盒子的中心位置 */

            position: absolute;

            top: 50%;

            left: 50%;

            transform: translate(-50%, -50%);

            width: 8px;

            height: 8px;

            box-shadow: 0 0 12px #09f;

            border-radius: 50%;

            /* 调用动画 */

            animation: pulse 1.3s linear infinite;

        }

        

        @keyframes pulse {

            /* 定义动画 宽度高度透明度的变化 */

            0% {}

            70% {

                width: 30px;

                height: 30px;

                opacity: 1;

            }

            100% {

                width: 60px;

                height: 60px;

                opacity: 0;

            }

        }

        

        .city div.pulse2 {

            /* 延迟时间 0.4秒 */

            animation-delay: 0.4s;

        }

        

        .city div.pulse3 {

            /* 延迟时间 0.8秒 */

            animation-delay: 0.8s;

        }

    </style>

</head>

 

<body>

    <div class="bgimg">

        <div class="city">

            <div class="dotted"></div>

            <div class="pulse1"></div>

            <div class="pulse2"></div>

            <div class="pulse3"></div>

        </div>

        <div class="city tb">

            <div class="dotted"></div>

            <div class="pulse1"></div>

            <div class="pulse2"></div>

            <div class="pulse3"></div>

        </div>

        <div class="city gz">

            <div class="dotted"></div>

            <div class="pulse1"></div>

            <div class="pulse2"></div>

            <div class="pulse3"></div>

        </div>

    </div>

</body>

 

</html>

 


版权声明:本文为qq_42565208原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。