ホームページ ウェブフロントエンド CSSチュートリアル CSS3アニメーションのトランジションとアニメーションプロパティの紹介

CSS3アニメーションのトランジションとアニメーションプロパティの紹介

Oct 11, 2018 pm 04:07 PM
animation css3 css3アニメーション transition

この記事では、CSS3 アニメーションを実現するためのトランジションとアニメーション属性について説明します。必要な方は参考にしていただければ幸いです。

#tradition には合計 4 つのプロパティがあります:

  • ##transition-property トランジション プロパティ

  • ##Transition-duration アニメーションの完了に必要な時間 (秒またはミリ秒で計算)
  • #transition-timing-function はアニメーションの変化速度曲線を指定します
  • #transition-lay 遅延するかどうか
transition-property 遷移プロパティ

none: プロパティなしトランジション効果が得られます

all: すべての属性がトランジション効果を取得します

porperty: width, height...

img{    
    height:15px;    
    width:15px;
}
img:hover{    
    height: 450px;    
    width: 450px;
}
ログイン後にコピー
トランジションの機能は時間を指定することです状態の変更に必要です。

img{
    transition: 1s;
}
ログイン後にコピー

transition-duration 状態遷移を完了するまでの秒数またはミリ秒数

幅の変更や高さなど、遷移の変更属性を指定することもできます

img{
    transition: 1s height;
}
ログイン後にコピー
複数の属性も指定できます

img{
    transition: 1s height, 1s width
}
ログイン後にコピー

遷移遅延状態変化速度。

最初に高さが変更され、次に幅が変更されるように遅延パラメーターを指定します。

img{
    transition: 1s height, 1s 1s width
}
ログイン後にコピー
遅延の本当の意味は、アニメーションが発生する順序を指定することです。アニメーション効果を形成するために、複数の異なるトランジションが異なる瞬間に発生する可能性があります。

トランジション タイミング関数の状態変更速度

デフォルトでは、イージングは​​徐々に遅くなります

可能な値は次のとおりです。

linear: 均一速度
  • easy-in: 加速度
  • ##ease -out: 減速

  • 三次ベジェ関数、カスタム速度モード

  • (三次: 三次、ベジェ:

    ベジェ Er 曲線)

3 次ベジェ () 値の範囲 0 ~ 1

img{    
    transition-property: height;         
    transition-duration: 1s;    
    transition-delay: 1s;    
    transition-timing-function: ease;
}
ログイン後にコピー
注:遷移では、中間状態を計算するために、開始状態と終了状態の特定の値を明確に知っている必要があります。ただし、トランジションでは 0->auto の状態を計算できないため、アニメーション効果はありません。同様の状況には、display: none->block、background:url(foo.jpg)->url(bar.jpg) などがあります。

これにはいくつかの欠点があります:

イベント トリガーが必要ですが、Web ページの読み込み時に直接発生させることはできません

  1. は 1 回限りのイベントです。はい、繰り返しトリガーしない限り、繰り返し発生することはありません

  2. ##開始状態と終了状態のみを定義でき、中間状態は定義できません

  3. #トランジション ルールでは 1 つの属性への変更のみを定義できます
  4. #アニメーション

CSS アニメーションには次の属性があります。

animation-name セレクターにバインドする必要がある名前 keyframe

animation-durationアニメーションの完了に必要な時間。秒またはミリ秒で計算されます。
  • animation-timing-function は、アニメーションの速度曲線を指定します。
  • animation-遅延 アニメーションが開始されるまでの遅延時間
  • animation-iteration-count アニメーションを再生する回数
  • animation-direction かどうかアニメーションは順番に逆方向に再生される必要があります
  • #animation-fill -mode 属性は、アニメーションの再生後に動的効果が表示されるかどうかを指定します

  • # #animatoin-play-state は、アニメーションが実行中か一時停止中かを指定します

  • iteration-repeat

  • animation-name

アニメーション期間

首先 设置动画的名称和持续的时长

p:hover{
animation: 1s rainbow;
}
ログイン後にコピー

上面代码表示,当鼠标悬停在p元素上时,会产生名为rainbow的动画效果,持续时间为1秒。为此,我们还需要用keyframes关键字,定义rainbow效果。

@keyframs rainbow{
0% { background: #c00; }
50% { background: orange; }
100% { background: yellowgreen; }
}
ログイン後にコピー

keyframs的写法相当自由

可以用from表示0%,to 表示100%

@keyframs rainbow{
from { background: #c00; }
50% { background: orange; }
to { background: yellowgreen; }
}
ログイン後にコピー

如果忽略某个状态,浏览器会自动推算

@keyframs rainbow{
   50% { background: orange; }
     to { background: yellowgreen; }
}

@keyframs rainbow{
to { background: yellowgreen; }
}

@keyframs rainbow{
from, to { background: yellowgreen; }
}
ログイン後にコピー

浏览器从一个状态到另外一个状态是平滑过渡到,steps函数实现分步过渡

p:hover {
animation: 1s rainbow infinite steps(10);
}
ログイン後にコピー

默认情况下,动画只播放一次。加入infinite关键字,可以让动画无限次播放。

p:hover{
animation: 1s rainbow infinite;
}
ログイン後にコピー

除了infinite,还可以设置为具体的次数: 3、5

p:hover{
animation: 1s rainbow 5;
}
ログイン後にコピー

animation-fill-mode

动画结束以后会立即冲结束状态回到起始状态,如果想让动画保持在结束状态就要加上animation-fill-mode属性中的forwards

p:hover{
animation: 1s rainbow infinite forwards;
}
ログイン後にコピー

animation-fill-mode 有4种取值

none 不改变默认行为

forawads 动画完成后,保持最后一个属性(在最后一个关键帧中定义)

backwards 在 animation-delay 所指定的一段时间内,在动画显示之前,应用开始属性值(在第一个关键帧中定义)。

both 向前向后都进行填充

animation-direction

规定了轮流反向播放动画

alternate:动画会在奇数次(1,3,5...)正常播放,偶数次(2,4,6...)反向播放

最常用alternate和revers,浏览器对其他值的支持不佳

<iframe 
width="100%" height="300" src="//jsfiddle.net/xiaoying/2414dr39/embedded/">
</iframe>
ログイン後にコピー

总结:以上就是本篇文的全部内容,希望能对大家的学习有所帮助。更多相关教程请访问 CSS3视频教程

相关推荐:

php公益培训视频教程

CSS在线手册

CSS3在线手册

div/css图文教程

css3特效代码大全

以上が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 ヒント: トランジションを使用してホバー状態を保持する Sep 27, 2022 pm 02:01 PM

ホバー状態を保存するにはどうすればよいですか?以下の記事ではJavaScriptを使わずにホバー状態を保持する方法を紹介していますので、ご参考になれば幸いです。

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;」スタイルを追加するだけです。

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