ホームページ  >  記事  >  ウェブフロントエンド  >  純粋な CSS を使用して旗を振るアニメーション効果を実現する方法 (ソース コードを添付)

純粋な CSS を使用して旗を振るアニメーション効果を実現する方法 (ソース コードを添付)

不言
不言オリジナル
2018-09-04 11:04:593674ブラウズ

この記事の内容は、純粋な CSS を使用して旗を振るアニメーション効果を実現する方法に関するものです (ソースコードが添付されています)。必要な方は参考にしていただければ幸いです。 。

エフェクトのプレビュー

純粋な CSS を使用して旗を振るアニメーション効果を実現する方法 (ソース コードを添付)

ソースコードのダウンロード

https://github.com/comehop​​e/front-end-daily-challenges

コード解釈

domを定義、コンテナには15の要素が含まれています:

<div>
    <span></span>
    <span></span>
    <span></span>
    <span></span>
    <span></span>
    <span></span>
    <span></span>
    <span></span>
    <span></span>
    <span></span>
    <span></span>
    <span></span>
    <span></span>
    <span></span>
    <span></span>
</div>

中央表示:

body {
    margin: 0;
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: black;
}

コンテナサイズの定義:

.flag {
    width: 10em;
    height: 15em;
    font-size: 20px;
}

線スタイルの設定:

.flag span {
    width: 0.25em;
    height: inherit;
    background-color: deepskyblue;
}

線タイルの作成:

.flag {
    display: flex;
    justify-content: space-between;
}

3D遠近効果の追加:

.flag {
    transform: perspective(500px) rotateY(-20deg);
}

左右の動きのアニメーション効果を定義:

.flag span {
    animation: wave 1.5s ease-in-out infinite alternate;
}

@keyframes wave {
    to {
        transform: translateX(2em);
    }
}

要素を設定変数値:

.flag span:nth-child(1) {
    --n: 1;
}

.flag span:nth-child(2) {
    --n: 2;
}

/* 共 15 个元素,每元素的 --n 变量值等于它的序号。 */
/* 中间代码略 …… */

.flag span:nth-child(14) {
    --n: 14;
}

.flag span:nth-child(15) {
    --n: 15;
}

各行のアニメーションを遅延させて、旗が飛んでいる効果を作成します:

.flag span {
    animation-delay: calc(var(--n) * -0.1s);
}

最後に、光と影の効果を追加します:

.flag span {
    background-color: ghostwhite;
}

@keyframes wave {
    to {
        transform: translateX(2em);
        background-color: deepskyblue;
    }
}

これで完了です。

関連する推奨事項:

純粋な CSS を使用して、ボールが長方形の背景に変化するボタンのホバー効果を実現する方法 (ソースコードが添付されています)

CSS と D3 を使用して、小さな魚のインタラクティブなアニメーションを実現する方法水泳 (コード付き)

以上が純粋な CSS を使用して旗を振るアニメーション効果を実現する方法 (ソース コードを添付)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。