1. ホーム
  2. Web制作
  3. HTML/Xhtml

ピュアhtml+cssでの要素読み込み効果

2022-01-21 08:43:14

Element UIのローディングコンポーネントのイメージです。カッコイイですね!実現させましょう。

分析

アニメーションは2つのパートで構成されています。

青い円弧は、点から円に伸び、円から点に縮む。

円の親ノードが円と一緒に回転する

コード
html

<svg viewBox="25 25 50 50" class="box">
    <circle cx="50" cy="50" r="20" fill="none" class="circle"></circle>
</svg>


css
デフォルトのスタイル

.box {
    height: 200px;
    width: 200px;
    background: wheat;
}
.box .circle {
    stroke-width: 2;
    stroke: #409eff;
    stroke-linecap: round;
}


アニメーション効果の追加

/* Rotate animation */
@keyframes rotate {
    to {
        transform: rotate(1turn)
    }
}
/* Arc animation */
/* 125 is the circumference of the circle */
@keyframes circle {
    0% {
 /* state1: point */
        stroke-dasharray: 1 125;
        stroke-dashoffset: 0;
    }
    50% {
 /* State 2: circle */
        stroke-dasharray: 120, 125;
        stroke-dashoffset: 0;
    }
    to {
 /* State 3: Point (contracted in the direction of rotation) */
        stroke-dasharray: 120 125;
        stroke-dashoffset: -125px;
    }
}
.box {
  /* ... same as above */
  animation: rotate 2s linear infinite;
}
.circle {
  /* ... same as above */
  animation: circle 2s infinite;
}


最後に背景を削除します

オンライン・コード・デモ https://jsbin.com/yarufoy/edit?html,css,output

今回は純粋なhtml+cssによるElementの読み込み効果の実装について紹介しましたが、より関連性の高いhtml+cssによるコンテンツの読み込みの実装は、スクリプトハウスの過去の記事を検索するか、以下の関連記事を引き続き閲覧してください、今後ともスクリプトハウスをよろしくお願いします!