ホームページ  >  記事  >  ウェブフロントエンド  >  CSSを使用して卓球の格闘アニメーションを実装する

CSSを使用して卓球の格闘アニメーションを実装する

php中世界最好的语言
php中世界最好的语言オリジナル
2018-05-24 10:55:081836ブラウズ

今回はCSSを使って卓球の格闘アニメーションを実現する方法を紹介します。CSSを使って卓球の格闘アニメーションを実現するための注意点とは以下のとおりです。

コード解釈

domを定義、コンテナには左ラケット、小さなボール、右ラケットが含まれます:

<p class="court">
    <p class="left-paddle"></p>
    <p class="ball"></p>
    <p class="right-paddle"></p>
</p>
中央表示:

body {
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(silver, dimgray);
}
調整

ボックスモデル:

* {
    box-sizing: border-box;
}
ボールケースを描画:

.court {
    width: 20em;
    height: 20em;
    color: white;
    border: 1em solid currentColor;
}
左を描画シュート:

.court {
    position: relative;
}
.left-paddle
    width: 1em;
    height: calc(50% - 1em);
    background-color: currentColor;
    position: absolute;
    top: 1em;
    left: 1em;
}
左のラケットを動かす:

.left-paddle {
    animation: left-moving 1s linear infinite alternate;
}
@keyframes left-moving {
    to {
        transform: translateY(100%);
    }
}
同様に右のラケットを引く:

.right-paddle
    width: 1em;
    height: calc(50% - 1em);
    background-color: currentColor;
    position: absolute;
    top: 1em;
    left: 1em;
    bottom: 1em;
    right: 1em;
}
同様に右のラケットを引く:

.right-paddle {
    animation: right-moving 1s linear infinite alternate;
}
@keyframes right-moving {
    to {
        transform: translateY(-100%);
    }
}
ボールを描く:

.ball {
    width: 100%;
    height: 1em;
    border-left: 1em solid currentColor;
    position: absolute;
    left: 2em;
    top: calc(50% - 1.5em);
}
ボールを動かす:

.ball {
    animation: bounce 1s linear infinite alternate;
}
@keyframes bounce {
    to {
        left: calc(100% - 3em);
    }
}
最後に、左右のシューティング コードをリファクタリングし、共通の属性をマージします:

.left-paddle,
.right-paddle {
    width: 1em;
    height: calc(50% - 1em);
    background-color: currentColor;
    position: absolute;
    animation: 1s linear infinite alternate;
}
.left-paddle {
    top: 1em;
    left: 1em;
    animation-name: left-moving;
}
.right-paddle {
    bottom: 1em;
    right: 1em;
    animation-name: right-moving;
}
これで完了です。

この記事の事例を読んだ後は、この方法を習得したと思います。さらに興味深い情報については、php 中国語 Web サイトの他の関連記事に注目してください。

推奨読書:

Chart.js 軽量チャート ライブラリのユース ケース分析

Node.js での https ユース ケース分析

以上がCSSを使用して卓球の格闘アニメーションを実装するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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