1. ホーム
  2. Web制作
  3. CSS

[CSSチュートリアル】CSSでデータホットスポット効果を実現する方法

2022-02-03 18:41:15

その効果は以下の通りです。

分析

1. ここに見えるのは、ポイントの周りにある3つの円であり、これがズームのアニメーションになっています。

<ブロッククオート

つまり、4つのボックスポイント+3つのサークルと書きます。

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .city {
            width: 200px;
            height: 200px;
            background-color: gray;
            position: relative;
        }
        
        .pul {
            width: 8px;
            height: 8px;
            background-color: #09f;
            border-radius: 50%;
            top: 0;
            bottom: 0;
            left: 0;
            right: 0;
            margin: auto;
            position: absolute;
        }
        /* Select attributes with class names that start with pul */
        
        .city div[class^="pul"] {
            /* centered */
            top: 0;
            bottom: 0;
            left: 0;
            right: 0;
            margin: auto;
            position: absolute;
            width: 8px;
            height: 8px;
            border-radius: 50%;
            box-shadow: 0px 0px 10px #09f;
        }
    </style>
</head>

<body>
    <div class="city">
        <div class="pul"></div>
        <div class="pul1"></div>
        <div class="pul2"></div>
        <div class="pul3"></div>
    </div>
</body>

</html>

これを書いたら、3つの円をズームでアニメーションさせる必要がありますが、ご覧の通り、3つの円は同時にアニメーションを開始しないので、3つの円に異なる遅延を設定して、アニメーションを定義する必要があります。

/*define animation*/
  @keyframes pul {
            0% {}
            50% {
                width: 20px;
                height: 20px;
                opacity: 1;

            }

            100% {
                width: 50px;
                height: 50px;
                opacity: 0;
            }
        }

アニメーションの使用

.city>div:nth-child(2) {
            animation: pul 2s .5s linear infinite;
        }
        
        .city>div:nth-child(3) {
            animation: pul 2s 1s linear infinite;
        }
        
        .city>div:nth-child(4) {
            animation: pul 2s 1.5s linear infinite;
        }

その効果は次の通りです。

背景画像は自分で探せるので、ここには掲載しない。ダウンロードのために送るにはお金がかかるんです。

今回はcssを使ってデータホットスポット効果を実現する方法について紹介しましたが、もっと関連するcssデータホットスポットの内容はスクリプトハウスの過去記事を検索するか、以下の関連記事を引き続き閲覧してください、今後ともスクリプトハウスをもっと応援してくださいね。