CSS3 はアニメーション属性を使用してクールな効果を実現します (推奨)

CSS3 はアニメーション属性を使用してクールな効果を実現します (推奨)

animation-name アニメーション名。複数のアニメーションがバインドされていることを示すために、カンマで区切られた複数の値を持つことができます。

animation-name プロパティは、アニメーションに名前を割り当てます。

animation-name は主流のブラウザと互換性がありますが、互換性のためにプレフィックスを付ける必要がある

animation-name には、keyframename と none という 2 つのプロパティ値があります。

<!DOCTYPE html>
<html lang="ja">
<ヘッド>
<メタ文字セット="UTF-8">
<title>ドキュメント</title>
<スタイル>
    体{
        マージン:0 自動;    
        背景:#abcdef;    
    }
    div{    
        幅:800ピクセル;
        高さ:800px;
        マージン:0 自動;    
    }
    。容器{
        位置: 相対的;
    }
    .inner、.middle、.outer、.pic{
        位置: 絶対;
        トップ:0;
        右:0;
        下:0;
        左:0;
        マージン:自動;        
    }
    .インナー{
        背景:url(source/circle_inner.jpg) 中央 繰り返しなし;
        アニメーション名:circle_inner;
    }
    。真ん中{
        背景:url(source/circle_middle.jpg) 中央 繰り返しなし;
        アニメーション名:circle_middle;
    }
    .外側{
        背景:url(source/circle_outer.jpg) 中央 繰り返しなし;
        アニメーション名:circle_outer;
    }
    .pic{
        背景:url(source/pic.jpg) 中央 繰り返しなし;
    }
</スタイル>
</head>
<本文>
    <div class="コンテナ">
        <div class="inner"></div>
        <div class="middle"></div>
        <div class="outer"></div>
        <div class="pic"></div>
    </div>
</本文>
</html>

アニメーション期間のアニメーション期間はデフォルトで0です

アニメーションタイミング関数 アニメーションタイミング関数

アニメーション遅延 アニメーション遅延時間

animation-delay プロパティは、アニメーションがいつ開始するかを定義します。単位は秒 (s) またはミリ秒 (ms) です。負の値も使用できます。-2s を指定すると、アニメーションはすぐに開始されますが、2 秒スキップされます。

animation-iteration-count アニメーションループ回数

アニメーションの反復回数: 数値 | 無限 デフォルトは 1

アニメーション方向: 通常 | 逆 | 交互 | 交互逆

alternate と alternate-reverse は、animation-iteration-count が infinite に設定されていない場合は、1 回だけ実行されて停止します。

animation-fill-mode アニメーションの遅延は実行されない、またはアニメーションが完了した後に一時停止状態になります (アニメーションをループに設定することはできません。そうしないと停止できません)

animation-fill-mode: none | forwards | backwards | both 終了状態なし 開始状態は状況によって異なります

アニメーション再生状態: 実行中 | 一時停止 アニメーション再生状態: 実行中 | 一時停止

アニメーションの省略形

アニメーション: 名前 期間 タイミング関数 遅延 反復回数 方向 塗りつぶしモード 再生状態

<!DOCTYPE html>
<html lang="ja">
<ヘッド>
<メタ文字セット="UTF-8">
<title>ドキュメント</title>
<スタイル>
    体{
        マージン:0 自動;    
        背景:#abcdef;    
    }
    div{    
        幅:800ピクセル;
        高さ:800px;
        マージン:0 自動;    
    }
    。容器{
        位置: 相対的;
        -webkit-transform-style:3d を保存します。
           -moz-transform-style:3d を保存します。
            -ms-transform-style:3d を保持します。
             -o-変換スタイル:3d を保持します。
                変換スタイル:3D を保持します。
    }
    .inner、.middle、.outer、.pic{
        位置: 絶対;
        トップ:0;
        右:0;
        下:0;
        左:0;
        マージン:自動;        
    }
    .container:hover div{
        -webkit-アニメーションの再生状態:一時停止;
           -moz-アニメーションの再生状態:一時停止;
            -ms-アニメーションの再生状態:一時停止;
             -o-アニメーションの再生状態:一時停止;
                アニメーションの再生状態:一時停止;
    }
    .インナー{
        背景:url(source/circle_inner.jpg) 中央 繰り返しなし;    
        /*サイクル*/
        -webkit-animation:circle_inner 10 秒の easy-in-out 1 秒の無限交互実行;
           -moz-animation:circle_inner 10 秒の easy-in-out 1 秒の無限交互実行;
            -ms-animation:circle_inner 10 秒のイーズインアウト、1 秒の無限交互実行。
             -o-animation:circle_inner 10 秒の easy-in-out 1 秒の無限交互実行;
                アニメーション:circle_inner 10s easy-in-out 1s infinite alternate running;    
        /*ループなし、塗りつぶし効果*/
        /*-webkit-animation:circle_inner 10s easy-in-out 1s forwards running;
           -moz-animation:circle_inner 10 秒、ease-in-out 1 秒、前方に走ります。
            -ms-animation:circle_inner 10 秒、ease-in-out 1 秒、前方に走ります。
             -o-animation:circle_inner 10 秒、ease-in-out 1 秒、前方に走ります。
                アニメーション:circle_inner 10s easy-in-out 1s forwards running;*/
    }
    。真ん中{
        背景:url(source/circle_middle.jpg) 中央 繰り返しなし;
        -webkit-animation:circle_middle 10 秒のイーズインアウト、1 秒の無限交互実行。
           -moz-animation:circle_middle 10 秒のイーズインアウト、1 秒の無限交互実行。
            -ms-animation:circle_middle 10 秒のイーズインアウト、1 秒の無限交互実行。
             -o-animation:circle_middle 10 秒のイーズインアウト、1 秒の無限交互実行。
                アニメーション:circle_middle 10s easy-in-out 1s infinite alternate running;    
    }
    .外側{
        背景:url(source/circle_outer.jpg) 中央 繰り返しなし;
        -webkit-animation:circle_outer 10 秒の easy-in-out 1 秒の無限交互実行;
           -moz-animation:circle_outer 10 秒の easy-in-out 1 秒の無限交互実行;
            -ms-animation:circle_outer 10 秒の easy-in-out 1 秒の無限交互実行;
             -o-animation:circle_outer 10 秒の easy-in-out 1 秒の無限交互実行;
                アニメーション:circle_outer 10 秒の easy-in-out 1 秒の無限交互実行;    
    }
    .pic{
        背景:url(source/pic.jpg) 中央 繰り返しなし;
    }
    @keyframes 円_内側{
        0%{ 変換:Xを0度回転します; }
        50%{ 変換:回転X(90度); }
        100%{ 変換:回転X(360度); }
    }
    @keyframes 円_middle{
        0%{ 変換:Y回転(0度); }
        50%{ 変換:Y回転(90度); }
        100%{ 変換:Y回転(360度); }
    }
    @keyframes 円_外側{
        0%{ 変換:Z回転(0度); }
        50%{ 変換:Zを90度回転します; }
        100%{ 変換:Z回転(360度); }
    }
</スタイル>
</head>
<本文>
    <div class="コンテナ">
        <div class="inner"></div>
        <div class="middle"></div>
        <div class="outer"></div>
        <div class="pic"></div>
    </div>
</本文>
</html> 

アニメーションパフォーマンスの最適化:

background-attachmentの代わりにposition-fixedを使用する

画像を含む要素は疑似要素に配置される

変わる

IE13+との互換性は諦めてもいいような気がします…

下向き矢印効果

<!DOCTYPE html>
<html lang="ja">
<ヘッド>
<メタ文字セット="UTF-8">
<title>ドキュメント</title>
<スタイル>
    体{
        マージン:0 自動;    
        背景:#abcdef;    
    }
    div{    
        幅:30px;
        高さ:30px;
        位置: 固定;
        左:0;
        右:0;
        下:100px;
        マージン:0 自動;    
        カーソル:ポインタ;
        -webkit-transform:回転(90度);
           -moz-transform:回転(90度);
            -ms-transform:回転(90度);
             -o-transform:回転(90度);
                変換:回転(90度);
        -webkit-animation:upDown 2s easy-in-out 無限;
          -moz-animation:upDown 2s イーズインアウト 無限;
           -ms-animation:upDown 2s イーズインアウト 無限;
            -o-animation:upDown 2s イーズインアウト 無限;
               アニメーション:アップダウン 2秒 イーズインアウト 無限;
    }
    @-webkit-keyframes アップダウン{
        0%{ 下部:100px; }
        50%{ 下部:80px; }
        100%{ 下部:100px; }
    }
    @-moz-keyframes アップダウン{
        0%{ 下部:100px; }
        50%{ 下部:80px; }
        100%{ 下部:100px; }
    }
    @-ms-keyframes アップダウン{
        0%{ 下部:100px; }
        50%{ 下部:80px; }
        100%{ 下部:100px; }
    }
    @-o-keyframes アップダウン{
        0%{ 下部:100px; }
        50%{ 下部:80px; }
        100%{ 下部:100px; }
    }
    @keyframes アップダウン{
        0%{ 下部:100px; }
        50%{ 下部:80px; }
        100%{ 下部:100px; }
    }
</スタイル>
</head>
<本文>
    <div> </div>
</本文>
</html> 

要約する

以上、CSS3 のアニメーション属性を使用してクールな効果を実現する方法についてご紹介しました。お役に立てれば幸いです。

<<:  HTML 選択オプションの基本的な理解と使用

>>:  Mysqlはマスタースレーブ構成とマルチマスターマルチスレーブ構成を実装します

推薦する

sed コマンドを使用してファイルの特定の行を効率的に削除する方法

序文通常、ファイル内の特定の行を削除したい場合は、まずファイルを開き、削除する内容を見つけて、これら...

HTML文書の基本構造(Webページ作成の基礎知識)

HTMLの動作原理: 1. ローカル操作: ブラウザでhtmlファイルを開く2. リモートアクセス...

Dockerコンテナの状態変換の実装

Dockerコンテナの状態遷移図2度目の実戦 [root@localhost ~]# docker ...

mysql バックアップ スクリプトを作成し、7 日間保存します。

スクリプトの要件: MySQL データベースを毎日バックアップし、スクリプトを 7 日間保存します。...

React で setInterval 関数を使用する例

この記事はWindows 10のシステム環境をベースに、Reactの学習と使用について説明しています...

MySQLを水平から垂直に、垂直から水平に変換する方法

データの初期化 `test_01` が存在する場合はテーブルを削除します。 テーブル「test_01...

SQL 文における複合主キーと結合主キーに関する予備的研究

1. 複合主キーいわゆる複合主キーとは、テーブルの主キーが複数のフィールドで構成され、ビジネス上の意...

HTML ウェブページにおけるさまざまなフォント形式の詳細

このセクションでは、テキストの変更の詳細から始めます。これにより、読者はさまざまな HTML フォン...

MySQL 8.0.15 winx64 圧縮パッケージのインストールと設定方法のグラフィックチュートリアル

この記事では、MySQL 8.0.15 winx64 圧縮パッケージのインストールと設定方法を参考ま...

MySQL クエリのパケットが大きすぎる問題と解決策

問題の説明:エラーメッセージ:原因: com.mysql.jdbc.PacketTooBigExce...

MySQLユーザー削除バグを解決する

著者が MySQL を使用してユーザーを追加していたところ、ユーザー名が間違って記述されていることに...

CSSリストのスライドにより、下部に隠れるのを防ぎ、長い画面モデルの処理に適応します。

1. モバイル端末がリストスライドを処理するとき、WeChat には下部にページに戻るボタンが組み...

MySQL マスタースレーブレプリケーションの実践の詳細説明 - ログポイントに基づくレプリケーション

ログポイントベースのレプリケーション1. マスターデータベースとスレーブデータベースに専用のレプリケ...

Linux で Golang をインストールする方法

Go は、シンプルで信頼性が高く、効率的なソフトウェアを簡単に構築できるオープンソース プログラミン...

Web コンテンツ ページを作成するための 9 つの実用的なヒント

コンテンツ1. 読者に留まる理由を与える。ウェブページを面白く魅力的なものにしましょう。しかし、まず...