目次
アニメーション
keyframes
animation
animation-play-state
ホームページ ウェブフロントエンド CSSチュートリアル CSS3 アニメーションの詳細な紹介 アニメーション関連のプロパティとキーフレーム ルール キーフレーム

CSS3 アニメーションの詳細な紹介 アニメーション関連のプロパティとキーフレーム ルール キーフレーム

May 21, 2017 pm 04:06 PM

昨日 3 次元立方体を書いたとき、アニメーション

の構文を使用しました今日はシステムに来てレビューしてください

遷移には制限があります単純ではありますが、2 つの 状態にしかなりません
間を変更するには、 イベント ドライバー が必要で、
単独で移動することはできません
したがって、この問題を解決するには、
アニメーション アニメーション

アニメーション

が必要です。アニメーション効果を実現する
アニメーション 属性のみを使用する だけでは不十分です
@keyframes ルールも必要です
まず例を見てみましょう

p class="demo"></p>
ログイン後にコピー
rreeee

マウスをホバーすると、要素は最初に赤くなり、次に遷移します紫に変化し、次に緑に移行します

@ keyframes のルールを見てみましょう

keyframes

@keyframes では、アニメーションのキーフレームを定義します
その後、キーフレームで指定したフレームの状態に従ってアニメーションが遷移し、実行されます
0% - 100% はアニメーションの時間遷移を表します
ルール 0% と 100% では、
from キーワードと to キーワードに置き換えることができます

.demo {    width: 100px;    height: 100px;    background-color: gold;}.demo:hover {    animation: change 2s linear;}@keyframes change {
    0% {        background-color: red;    }
    50% {        background-color: purple;    }
    100% {        background-color: lime;    }}
ログイン後にコピー

開始フレームを省略すると、ブラウザは次に従って遷移します。オリジナルのスタイルです

@keyframes xxx {    from {        ......
    }
    to {
        ......
    }
}
ログイン後にコピー


さらに、このように同じフレームを一緒に書くこともできます

@keyframes change {
    100% {        background-color: lime;    }}
ログイン後にコピー

animation

animation は、次のサブプロパティを持つ複合属性です

  • animation-name
    キーフレームアニメーションの名前を指定します

  • animation-duration
    アニメーションの実行時間を指定します

  • animation-timing-function
    アニメーションのスピードカーブを指定します、デフォルトは「ease」です

  • animation-delay
    アニメーションの遅延時間を指定します、デフォルトは「0」です なし Delay

  • animation-iteration-count
    アニメーションの再生回数を指定します、デフォルトは「1」です" 1 回実行します

  • animation-direction
    アニメーションの実行方向を指定します。デフォルトは「通常」です

この複合属性は遷移よりも複雑です
最初の 4 つの属性については説明しませんかなり、私たちの遷移と似ています
忘れた人はここをクリック -> ポータル

animation-iteration-count アニメーション 再生回数を記入することに加えて、よく使われるキーワード無限
ループも使用できます

animation-directionには、normalに加えて、次の属性値もあります

  • reverse 逆再生アニメーション

  • alternate 代替アニメーション

  • alternate-reverse 反転アニメーション

例で説明

@keyframes change {    from,to {        background-color: red;    }
    50% {        background-color: blue;    }}
ログイン後にコピー

デフォルト

normal:
2つのテストアニメーション:
100px -> 200px
100px -> 200px

.demo {    width: 100px;    height: 100px;    background-color: gold;}.demo:hover {    animation: change 1s 2 linear;}@keyframes change {    to {        width: 200px;    }}
ログイン後にコピー

reverse:
2 つのテスト アニメーション:
200px -> 100px
200px -> 100px


2 つのテストアニメーション:ピクセル -> 200ピクセル

アニメーション-フィルモード
以下で説明する 2 つのプロパティはアニメーションのサブプロパティではないため、アニメーション内で記述することはできません

animation-fill-mode はアニメーション時間外のオブジェクト
の状態を規定しており、デフォルトは"none"

以外 none に加えて、次の属性値があります


for
wards

アニメーションが完了した後、最後の属性(最後のフレームで定義された)を保持します

  • backwards
    在animation-delay指定时间内、动画显示之前,应用起始属性(定义在第一帧)

  • both
    应用forwards和backwards两种模式


  • forwards
    这个属性还是蛮有用的
    还是我们上面的例子

    .demo:hover {    animation: change 1s linear; /*改*/
        animation-fill-mode: forwards; /*改*/}
    ログイン後にコピー


    我们发现1s之后,元素并没有回到最初的100px,而是保持了我们最后一帧的200px状态


    backwards
    理解这个属性,我们需要先加一个延时

    .demo:hover {    animation: change 1s linear 1s; /*改*/
        /*animation-fill-mode: backwards;*/ /*待增*/}@keyframes change {    from {  /*增*/
            width: 150px;    }
        to {        width: 200px;    }}
    ログイン後にコピー

    我就不配图了
    我们发现鼠标悬浮后,1s后瞬间变为150px,然后再过渡到200px
    hover-0s -> 1s -> 2s
    100px ->瞬变150px –> 过渡到200px

    现在增加backwards

    .demo:hover {    animation: change 1s linear 1s; /*改*/
        animation-fill-mode: backwards; /*增*/}
    ログイン後にコピー

    这回我们发现鼠标悬浮的一瞬间就变为15px,然后1s后过渡到200px
    hover-0s -> 1s -> 2s
    瞬变150px ->150px –> 过渡到200px
    这就是backwards的作用,延迟前就应用第一帧动画的样式,然后准备过渡

    animation-play-state

    animation-play-state 指定动画的运行或暂停。默认 “running”
    除了running还有paused
    利用这个属性再配合js我们可以控制动画的暂停和运行

    demo.style.animationPlayState = "paused";
    ログイン後にコピー

    今天的动画就先写这么多,感觉写了很长时间
    日后再总结动画相关的性能问题

    以上がCSS3 アニメーションの詳細な紹介 アニメーション関連のプロパティとキーフレーム ルール キーフレームの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

    ホットAIツール

    Undresser.AI Undress

    Undresser.AI Undress

    リアルなヌード写真を作成する AI 搭載アプリ

    AI Clothes Remover

    AI Clothes Remover

    写真から衣服を削除するオンライン AI ツール。

    Undress AI Tool

    Undress AI Tool

    脱衣画像を無料で

    Clothoff.io

    Clothoff.io

    AI衣類リムーバー

    AI Hentai Generator

    AI Hentai Generator

    AIヘンタイを無料で生成します。

    ホットツール

    メモ帳++7.3.1

    メモ帳++7.3.1

    使いやすく無料のコードエディター

    SublimeText3 中国語版

    SublimeText3 中国語版

    中国語版、とても使いやすい

    ゼンドスタジオ 13.0.1

    ゼンドスタジオ 13.0.1

    強力な PHP 統合開発環境

    ドリームウィーバー CS6

    ドリームウィーバー CS6

    ビジュアル Web 開発ツール

    SublimeText3 Mac版

    SublimeText3 Mac版

    神レベルのコード編集ソフト(SublimeText3)

    純粋な CSS3 で波の効果を実現するにはどうすればよいですか? (コード例) 純粋な CSS3 で波の効果を実現するにはどうすればよいですか? (コード例) Jun 28, 2022 pm 01:39 PM

    純粋な CSS3 で波の効果を実現するにはどうすればよいですか?この記事ではSVGとCSSアニメーションを使って波のエフェクトを作成する方法をご紹介しますので、お役に立てれば幸いです。

    Windows 11 でアニメーション効果を高速化する方法: 2 つの方法を説明 Windows 11 でアニメーション効果を高速化する方法: 2 つの方法を説明 Apr 24, 2023 pm 04:55 PM

    Microsoft が Windows 11 を発表したとき、多くの変化がもたらされました。変更点の 1 つは、ユーザー インターフェイスのアニメーションの数が増加したことです。一部のユーザーは表示方法を変更したいと考えており、その方法を見つける必要があります。アニメーションがあると、より快適でユーザーフレンドリーな印象になります。アニメーションは視覚効果を使用して、コンピュータをより魅力的に見せ、応答性を高めます。それらの中には、数秒または数分後にスライド メニューが表示されるものもあります。コンピュータには、PC のパフォーマンスに影響を与え、速度を低下させ、作業を妨げる可能性のあるアニメーションが数多くあります。この場合、アニメーションをオフにする必要があります。この記事では、PC 上でアニメーションの速度を向上させるいくつかの方法を紹介します。レジストリ エディターまたは実行するカスタム ファイルを使用して変更を適用できます。 Windows 11 でアニメーションを改善する方法

    CSS を使用して要素の背景の回転アニメーション効果を実現する方法 CSS を使用して要素の背景の回転アニメーション効果を実現する方法 Nov 21, 2023 am 09:05 AM

    CSS を使用して要素の回転背景画像アニメーション効果を実装する方法 背景画像アニメーション効果は、Web ページの視覚的な魅力とユーザー エクスペリエンスを向上させることができます。この記事では、CSS を使用して要素の背景の回転アニメーション効果を実現する方法を紹介し、具体的なコード例を示します。まず、背景画像を用意します。太陽や扇風機など、好きな画像を使用できます。画像を「bg.png」という名前で保存します。次に、HTML ファイルを作成し、ファイルに div 要素を追加して、次のように設定します。

    CSSを上手に使って色々な変わった形のボタンを実現(コード付き) CSSを上手に使って色々な変わった形のボタンを実現(コード付き) Jul 19, 2022 am 11:28 AM

    この記事では、頻繁に登場する様々な奇妙な形のボタンをCSSを使って簡単に実現する方法を紹介しますので、ぜひ参考にしてください。

    スペースを取らずにCSS内の要素を非表示にする方法 スペースを取らずにCSS内の要素を非表示にする方法 Jun 01, 2022 pm 07:15 PM

    2 つの方法: 1. display 属性を使用して、要素に「display:none;」スタイルを追加するだけです。 2. Position 属性と top 属性を使用して、要素の絶対位置を設定し、要素を非表示にします。要素に「position:absolute;top:-9999px;」スタイルを追加するだけです。

    CSSにおけるキーフレームの意味 CSSにおけるキーフレームの意味 Feb 25, 2021 am 10:51 AM

    CSS では、キーフレームとは「キー フレーム」を意味し、アニメーションを作成するための CSS ルールです。CSS アニメーションのサイクルの動作を定義できます。アニメーション シーケンスに沿ってキー フレームを設定することで、アニメーション シーケンスのサイクルの中間を指定できます。ステップ、構文「@keyframes アニメーション名 {keyframes-selector {css-styles;}}」。

    CSS3でレースボーダーを実装する方法 CSS3でレースボーダーを実装する方法 Sep 16, 2022 pm 07:11 PM

    CSS では、border-image 属性を使用してレースの境界線を実現できます。 border-image 属性では、画像を使用して境界線を作成できます。つまり、境界線に背景画像を追加できます。背景画像をレース スタイルとして指定するだけで済みます。構文「border-image: url (画像パス) は、内側への画像境界線の幅。開始を繰り返すかどうか;"。

    テキストカルーセルと画像カルーセルも純粋な CSS を使用して実現できることがわかりました。 テキストカルーセルと画像カルーセルも純粋な CSS を使用して実現できることがわかりました。 Jun 10, 2022 pm 01:00 PM

    テキストカルーセルと画像カルーセルを作成するにはどうすればよいですか?皆さんが最初に考えるのはjsを使うかどうかですが、実はテキストカルーセルや画像カルーセルも純粋なCSSでも実現できますので実装方法を見ていきましょう。

    See all articles