目次
@keyframes
矩形变圆形实例
基本元素
0% {}
应用アニメーション画
Timing-Function を使用します
ホームページ ウェブフロントエンド htmlチュートリアル css の初体験Animation_html/css_WEB-ITnose

css の初体験Animation_html/css_WEB-ITnose

Jun 24, 2016 am 11:45 AM

GIF、SVG、WebGL、ビデオ背景、その他の形式で表示されるかどうかにかかわらず、アニメーションを使用する Web サイトがますます増えています。アニメーションを適切に使用すると、Web サイトがより活発でインタラクティブになり、ユーザーにフィードバックとエクスペリエンスが追加されます。

このチュートリアルでは、ブラウザーのサポートの向上に伴いますます人気が高まっている CSS アニメーションについて紹介します。CSS アニメーションは、いくつかの機能で高いパフォーマンスを発揮します。基本を説明した後、長方形が円に変わるアニメーションの簡単な例を作成します。

ここでデモをご覧ください

@keyframes とアニメーションの概要

CSS アニメーションの主なコンポーネント: @keyframes、アニメーションを作成するための CSS ルール。 @keyframes はアニメーション ステップのタイムラインと考えてください。 @keyframes では、これらのステップをそれぞれ異なるスタイル ステートメントで定義できます。

2 番目のステップは、CSS アニメーションの実行を有効にすることです。セレクターを @keyframes にバインドする必要があります。これらの手順に基づいて、@keyframes によって宣言されたすべてのコードが解析され、新しいスタイルが初期化されます。

@keyframes

ここでアニメーションのステップを設定します。 @keyframes のプロパティは次のとおりです:

  • セレクターの名前 (この例では tutsFade)
  • ステップ: 0%-100% ; from (0% に等しい) と to (100% に等しい)。
  • CSS スタイル: 各段階で適用されるスタイル。
  • 例:

    @keyframes tutsFade {

    0% {

    opacity: 1;

    }

    100% {

    不透明度: 0 ;

    }

    }

    または:

    @keyframes tutsFade {

    from {

    不透明度: 1 ;

    }

    から {

    不透明度: 0 ;

    }

    }

    略語:

    @keyframes tutsFade {

    to {

    不透明度: 0 ;

    }

    }

    上記のコードは、要素に不透明度の遷移を適用します。 、不透明度: 1 から不透明度: 0 まで。上記の 3 つの方法は同じ効果を実現します。

    アニメーション

    animation 属性:
  • animation-name: @keyframes 名 (この場合は tutsFade).
  • animation-duration: 時間間隔、開始から終了までのアニメーションの合計長さ
  • anime-timing-function: アニメーション速度を設定します (linear |ease |ease-in |ease-out |ease-in-out | cubic-bezier)。
  • animation-delay: アニメーションが開始する前の遅延。
  • animation-iteration- count : アニメーション中に反復する回数
  • animation-direction: ループの方向を、開始から終了、終了から開始、またはその両方に変更します。
  • animation-fill-mode: 要素を指定します。アニメーションの終了 適用されたスタイル (なし | 前方 | 逆方向 | 両方)。 s;

    アニメーション反復数: 無限;

    アニメーション方向: 代替;

    .element {

    アニメーション: tutsFade 4 s 1 s 無限線形代替 ;

    }

    上記のコードは、点滅効果、1 秒のアニメーション遅延、4 秒のアニメーション間隔、交互の方向、および無限の線形ループ反復を作成します。最良のブラウザサポートを確保するには、ブラウザ固有のプレフィックスを使用する必要があります。標準プレフィックス アプリケーション:

  • Chrome & Safari: -webkit-
  • Firefox: -moz-
  • Opera: -o-
  • Internet Explorer: -ms-
  • 动画属性使用了浏览器前缀的形式:

    .element {

         -webkit-animation: tutsFade 4 s 1 s infinite linear alternate;

         -moz-animation: tutsFade 4 s 1 s infinite linear alternate;

         -ms-animation: tutsFade 4 s 1 s infinite linear alternate;

         -o-animation: tutsFade 4 s 1 s infinite linear alternate;

         animation: tutsFade 4 s 1 s infinite linear alternate;

    }

    @keyframes的前缀使用:

    @-webkit-keyframes tutsFade { /* your style */ }

    @-moz-keyframes tutsFade { /* your style */ }

    @-ms-keyframes tutsFade { /* your style */ }

    @-o-keyframes tutsFade { /* your style */ }

    @keyframes tutsFade { /* your style */ }

     

    更多浏览器前缀: http://css3please.com/

     

    多动画

    使用逗号分割添加多动画。为tutsFade 元素添加回转,我们要声明一个额外的@keyframes然后绑定到元素上:

    .element {

       animation: tutsFade 4 s 1 s infinite linear alternate, tutsRotate 4 s 1 s infinite linear alternate;

    }

    @keyframes tutsFade {

       to {

         opacity: 0 ;

       }

    }

    @keyframes tutsRotate {

       to {

         transform: rotate( 180 deg);

       }

    }

     

    ------------------------------------分割线--------------------------------------------------------------------

    矩形变圆形实例

    这个例子中总共有五个步骤,每个步骤将为元素定义一个圆角,一个回转和不同的背景色,下面是实现的步骤和代码。

    基本元素

    首先创建一个标记,动画的元素。甚至不用class,仅仅只用一个div:

    次に、要素選択を使用して div にスタイルを追加します:

    width : 200px ;

    height : 200px ;

    キーフレームを宣言する

    キーフレームを定義する@keyframes は square-to-circle という名前で、その 5 つのステップは次のとおりです:

    @keyframes square-to-circle {

    0% {}

    25% {}

    50% {}

    75% { }

    100% {}

    }

    ステップごとにいくつかのスタイルを定義する必要があり、長方形の各角の丸い角の定義を開始します:

    @-webkit-keyframes square-to-circle {

    0% {

    境界半径: 0 0 0 0 ;

    }

    25% {

    境界半径: 50% 0 0 0 }

    境界半径: 50% 50% 0 0 ;

    }

    75% {

    50% 50% 50% 50% 0;

    }

    100% border-radius: 50% }

    }

    次に、ステップごとに異なる背景を定義します色:

    @keyframes square-to-circle {

    0% {

    境界半径: 0 0 0 0;

    背景:コーラル

    }

    境界半径: 50% 0 0 0 ;

    背景 :darksalmon;

    }

    50% {

    境界半径: 50% 50% 0 0 ;

    背景 :indianred;

    境界線 - 半径: 50% 50 % 50% 0 ;

    背景:lightcoral

    }

    100% {

    背景: darksalmon;

    }

    DIV を回転させます。

    @keyframes square-to-circle {

    0% {

    境界半径: 0 0 0 0 ;

    背景:サンゴ;

    transform:rotate( 0 度);

    }

    25% {

    境界半径: 50% 0 0 0 ;

    背景 :darksalmon;

    transform:rotate( 45 度);

    }

    50% {

    境界半径: 50% 50% 0 0 ;

    背景 :indianred;

    transform:rotate( 90 度);

    }

    75% {

    境界半径: 50% 50% 50% 0 ;

    背景:ライトコーラル;

    変換:回転(135 度);

    }

    100% {

    境界半径: 50% ;

    背景 :darksalmon;

    変換:回転(180 度);

    }

    }

    应用アニメーション画

    定义了square-to-circleアニメーション画後、必要将它应用到div上:

    div {

    width : 200px ;

    高さ: 200px ;

    背景色 : コーラル;

    アニメーション: 正方形から円へ 2 秒 1 秒の無限交互。 

    }

    上面使用简写的アニメーション属性,它们的状態态:

  • アニメーション画名:square-to-circle.
  • アニメーション画间間隔:2s.
  • アニメーション画延迟:1s.
  • アニメーション画循環次数是制限はありません。
  • アニメーションの進行方向は交互であり、最初に開始から終了まで、次に最初に戻り、その後終了まで循環します。
  • Timing-Function を使用します

    アニメーション追加の最後のプロパティは、animation-この関数は、非常に詳細な値の手動計算である可能性がありますが、タイミング関数がソースとオンライン設定を提供するための無料のウェブサイトが数多くあります。アニメーション ツール、私たちの定時機能を計算します。

    高さ: 200px ;

    背景色 : コーラル;

    アニメーション: 正方形から円へ 2 s 1 s 無限 3 次ベジェ( 1 ,. 015 ,. 295 , 1.225 ) 交互。 

    }

    ブラウザー接頭辞 ( -webkit- 、 -moz-、 -ms-、 -o- ) を使用しない場合の最終コードは次のとおりです。

    div {

    width: 200px

    height: 200px;背景色: コーラル;

    アニメーション: 正方形から円 2 秒 . 5 秒 無限立方体ベジェ ( 1 ,. 015 ,. 295 , 1.225 ) 代替;

    @keyframes円 {

    0% {

    25% {

    境界半径: 50% 0 0 0 ;

    背景:darksalmon;

    変換:回転(45 度) }

    50% {

    境界半径: 50% 50% 0 0 ;

    背景 :indianred;

    変換: 回転(90 度) }

    75% {

    境界半径: 50% 50% 50% 0;

    背景:ライトコーラル;

    変換:回転( 135 度) }

    100 % {

    境界半径: 50%;

    変換: 回転( 180 度) g);

    }

    }

    最後に

    最新のブラウザではすべてが正常に動作しますが、Firefox でのオブジェクトのレンダリングは少し不安定で、エッジがギザギザに見えます:

    幸いなことに、回避策があります。 div に透明なアウトラインを追加すると、Firefox は完全にレンダリングします。

    アウトライン: 1 ピクセルのソリッド透明;

    このウェブサイトの声明
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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衣類リムーバー

    Video Face Swap

    Video Face Swap

    完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

    ホットツール

    メモ帳++7.3.1

    メモ帳++7.3.1

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

    SublimeText3 中国語版

    SublimeText3 中国語版

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

    ゼンドスタジオ 13.0.1

    ゼンドスタジオ 13.0.1

    強力な PHP 統合開発環境

    ドリームウィーバー CS6

    ドリームウィーバー CS6

    ビジュアル Web 開発ツール

    SublimeText3 Mac版

    SublimeText3 Mac版

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

    HTML:構造、CSS:スタイル、JavaScript:動作 HTML:構造、CSS:スタイル、JavaScript:動作 Apr 18, 2025 am 12:09 AM

    Web開発におけるHTML、CSS、およびJavaScriptの役割は次のとおりです。1。HTMLは、Webページ構造を定義し、2。CSSはWebページスタイルを制御し、3。JavaScriptは動的な動作を追加します。一緒に、彼らは最新のウェブサイトのフレームワーク、美学、および相互作用を構築します。

    HTML、CSS、およびJavaScriptの未来:Web開発動向 HTML、CSS、およびJavaScriptの未来:Web開発動向 Apr 19, 2025 am 12:02 AM

    HTMLの将来の傾向はセマンティクスとWebコンポーネントであり、CSSの将来の傾向はCSS-in-JSとCSShoudiniであり、JavaScriptの将来の傾向はWebAssemblyとServerLessです。 1。HTMLセマンティクスはアクセシビリティとSEO効果を改善し、Webコンポーネントは開発効率を向上させますが、ブラウザの互換性に注意を払う必要があります。 2。CSS-in-JSは、スタイル管理の柔軟性を高めますが、ファイルサイズを増やす可能性があります。 CSShoudiniは、CSSレンダリングの直接操作を可能にします。 3. Webassemblyブラウザーアプリケーションのパフォーマンスを最適化しますが、急な学習曲線があり、サーバーレスは開発を簡素化しますが、コールドスタートの問題の最適化が必要です。

    HTML:Webページの構造の構築 HTML:Webページの構造の構築 Apr 14, 2025 am 12:14 AM

    HTMLは、Webページ構造の構築の基礎です。 1。HTMLは、コンテンツ構造とセマンティクス、および使用などを定義します。タグ。 2. SEO効果を改善するために、などのセマンティックマーカーを提供します。 3.タグを介したユーザーの相互作用を実現するには、フォーム検証に注意してください。 4. JavaScriptと組み合わせて、動的効果を実現するなどの高度な要素を使用します。 5.一般的なエラーには、閉じられていないラベルと引用されていない属性値が含まれ、検証ツールが必要です。 6.最適化戦略には、HTTP要求の削減、HTMLの圧縮、セマンティックタグの使用などが含まれます。

    HTMLの未来:ウェブデザインの進化とトレンド HTMLの未来:ウェブデザインの進化とトレンド Apr 17, 2025 am 12:12 AM

    HTMLの将来は、無限の可能性に満ちています。 1)新機能と標準には、より多くのセマンティックタグとWebComponentsの人気が含まれます。 2)Webデザインのトレンドは、レスポンシブでアクセス可能なデザインに向けて発展し続けます。 3)パフォーマンスの最適化により、応答性の高い画像読み込みと怠zyなロードテクノロジーを通じてユーザーエクスペリエンスが向上します。

    HTML対CSS対JavaScript:比較概要 HTML対CSS対JavaScript:比較概要 Apr 16, 2025 am 12:04 AM

    Web開発におけるHTML、CSS、およびJavaScriptの役割は次のとおりです。HTMLはコンテンツ構造を担当し、CSSはスタイルを担当し、JavaScriptは動的な動作を担当します。 1。HTMLは、セマンティクスを確保するためにタグを使用してWebページの構造とコンテンツを定義します。 2。CSSは、セレクターと属性を介してWebページスタイルを制御して、美しく読みやすくします。 3。JavaScriptは、動的でインタラクティブな関数を実現するために、スクリプトを通じてWebページの動作を制御します。

    HTML対CSSおよびJavaScript:Webテクノロジーの比較 HTML対CSSおよびJavaScript:Webテクノロジーの比較 Apr 23, 2025 am 12:05 AM

    HTML、CSS、およびJavaScriptは、最新のWebページを構築するためのコアテクノロジーです。1。HTMLはWebページ構造を定義します。2。CSSはWebページの外観に責任があります。

    HTML:それはプログラミング言語か何か他のものですか? HTML:それはプログラミング言語か何か他のものですか? Apr 15, 2025 am 12:13 AM

    htmlisnotaprogramminglanguage; itisamarkuplanguage.1)htmlStructuresandformatswebcontentusingtags.2)ItworkswithcsssssssssdjavascriptforInteractivity、強化を促進します。

    < strong>< b>の違いは何ですかタグと< em>< i>タグ? < strong>< b>の違いは何ですかタグと< em>< i>タグ? Apr 28, 2025 pm 05:42 PM

    この記事では、HTMLタグの違いについて説明します。、、、、、、、およびプレゼンテーションの使用とSEOとアクセシビリティへの影響に焦点を当てています。

    See all articles