ホームページ  >  記事  >  ウェブフロントエンド  >  CSS3 を使用してアニメーション効果を実現する方法を段階的に説明します (コード共有)

CSS3 を使用してアニメーション効果を実現する方法を段階的に説明します (コード共有)

奋力向前
奋力向前転載
2021-08-16 18:38:453245ブラウズ

前の記事「H5: ページにアニメーションを実装するいくつかの方法?」 (添付コード) 」では、ページにアニメーションを実装するいくつかの方法を示します。次の記事では、CSS3 を使用してシンプルで美しいアニメーション効果を実現する方法を紹介します。

を見て、CSS3 アニメーションを復習しましょう。もうほとんど書けません。気に入りました。フラッシュ、時代が進んでいるのが残念だ。この記事は単なるドキュメントとして扱ってください。

ブラウザのサポート

Internet Explorer 10、Firefox、Opera はアニメーション属性をサポートしています。

Safari と Chrome は、代替の -webkit-animation 属性をサポートしています。

注: Internet Explorer 9 以前のバージョンでは、アニメーション プロパティがサポートされていません。

#定義と使用法

アニメーション プロパティは、6 つのアニメーション プロパティを設定するための短縮プロパティです。

  • アニメーション名

  • アニメーション期間

  • ##アニメーションタイミング関数 アニメーション遅延
  • アニメーション反復数 アニメーション方向
  • #構文

animation: name duration timing-function delay iteration-count direction;
#値##説明##備考

##値は、linear、ease (フェードインおよびフェードアウト)、ease-in、ease-out、ease-in-out、cubic-bezier(n, n, n, n)## です。 ##animation -play-state アニメーションが実行中か一時停止中かを指定します。 paused は一時停止状態を表し、running は実行状態を表しますanimation-nameセレクターにバインドする必要があるキーフレーム名を指定します@keyframe { from {opcity:0} to {opcity:1}}animation-iteration-count回数を指定しますアニメーションを再生する必要があります アニメーションの再生前または再生後、そのアニメーションの効果が表示されるかどうか。 アニメーションの完了にかかる時間を秒またはミリ秒で指定します。 アニメーションを順番に逆方向に再生するかどうかを指定します。アニメーションが開始するまでの遅延を指定しますキーフレームの定義について
animation-timing-function #アニメーションのスピード カーブを指定します
オプションの値は、infinite (無限回) n (5 回など) animation-fill-mode
none (デフォルト) / 前方 (アニメーションの完了後) / 逆方向 (アニメーションが表示される前) / 両方 (両方); animation-duration
指定しないとアニメーションは実行されません。 animation- direct
デフォルト値は通常です。alternate は、アニメーションを順番に逆方向に再生することを意味します。左と右 #animation-delay
アニメーションが開始するまでの待機時間を秒単位で定義しますまたはミリ秒。デフォルト値は 0 です。単位は s
Firefox は代替 @- をサポートしていますmoz -keyframes ルール;
#Opera は代替の @-o-keyframes ルールをサポートします;


##Safari と Chrome は代替 @-o-keyframes をサポートします-webkit-keyframes ルール;


  • 値は 0 ~ 100% および from、to をサポートします。

  • @keyframes move {
      0% {
        top: 0px;
        left: 0px;
      }
      25% {
        top: 200px;
        left: 200px;
      }
      50% {
        top: 100px;
        left: 100px;
      }
      75% {
        top: 200px;
        left: 200px;
      }
    
      100% {
        top: 0px;
        left: 0px;
      }
    }
    
    @keyframes move {
      from {
        top: 0px;
        left: 0px;
      }
      to {
        top: 0px;
        left: 100px;
      }
    }

    デモ 例を書きました、地球は太陽の周りを回っています


  • 次はコードです
  • <!-- html 部分 -->
    <div style="width:700px; ">
      <div class="t">
        <div class="t1"></div>
      </div>
    </div>
    /* css 部分 */
    @keyframes t {
      from {
        transform: rotate(0deg);
      }
      to {
        transform: rotate(360deg);
      }
    }
    
    @-webkit-keyframes t {
      from {
        transform: rotate(0deg);
      }
      to {
        transform: rotate(360deg);
      }
    }
    
    .t {
      height: 500px;
      width: 500px;
      position: relative;
      border-radius: 50%;
      transform: scale(.8);
      border: 1px solid #dedede;
      &::before {
        content: "";
        width: 50px;
        height: 50px;
        background: radial-gradient(72px, #f00, #ff0, #080);
        border-radius: 50%;
        position: absolute;
        left: 50%;
        top: 50%;
        margin-top: -25px;
        margin-left: -25px;
        box-shadow: 0 0 37px #fcff4a;
      }
      .t1 {
        height: 20px;
        border-radius: 50%;
        width: 20px;
        margin-top: -10px;
        top: 50%;
        left: -10px;
        background: radial-gradient(26px, #0082ff, #184608, #003ade);
        position: absolute;
        animation: t 3s infinite linear;
        transform-origin: 260px center;
      }
    }
    
    </style>

    そこにありますデモもあります。こちら https://k-ui.cn
推奨学習

CSS3 ビデオ チュートリアル

以上がCSS3 を使用してアニメーション効果を実現する方法を段階的に説明します (コード共有)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はchuchur.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。