コンテンツ領域の周囲を回転する CSS 動的グラデーション ボーダーの効果 (サンプル コード)

コンテンツ領域の周囲を回転する CSS 動的グラデーション ボーダーの効果 (サンプル コード)

レンダリング

ネットで関連情報を調べたところ、現在のダイナミックグラデーションボーダーの実装方法のほとんどは、コンテンツ領域よりも大きい疑似要素を使用して、グラデーション背景を水平方向に移動させるというものですが、グラデーションボーダーがコンテンツ領域の周りを回転する効果はありません。そこで、参考までにこのようなデモを作成しました。

実施原則

まず、コンテンツ領域を DIV ボックスにネストし、overflow: hidden; を設定します。このボックスのサイズは、コンテンツ領域のサイズに、実現したいグラデーション境界線の幅を加えたサイズです。コンテンツ領域は中央に配置され、コンテンツ領域と親要素の間に境界線のように見える空白ができます。
次に、この空白領域に親要素よりも大きく、グラデーションの背景を持つボックスを追加し、レイヤーを最低の z インデックス (-1) に設定します。次に、グラデーションの背景を持つボックスに回転アニメーションを追加すれば完了です。
かなり複雑に見えますが、実際の構造は非常に単純です。大まかな立体感さえ頭にあれば、その原理はすぐに理解できます。

HTML構造

<本文>
    <!-- 最外層はグラデーション領域のサイズを制限するためだけに機能します-->
    <div class="wrap">
        <!-- グラデーション表示領域 -->
        <div class="bgc"></div>
        <!-- 目次 -->
        <div class="content"></div>
    </div>
</本文>

CS

<スタイル>
        /* デモを中央に配置する伸縮ボックス*/
        体 {
            マージン: 0;
            パディング: 0;
            高さ:100vh;
            ディスプレイ: フレックス;
            アイテムの位置を中央揃えにします。
            コンテンツの中央揃え: 中央;
        }
        /* 一番外側のレイヤーは、中央に溢れた .bgc を隠すために使用します。コンテンツ領域と境界サイズに応じてサイズを自由に調整できます。*/
        。包む {
            幅: 300ピクセル;
            高さ: 300px;
            オーバーフロー: 非表示;
            位置: 相対的;
            境界線の半径: 20px;
            /* 伸縮性のあるボックスはコンテンツ領域を中央に配置します */
            ディスプレイ: フレックス;
            アイテムの位置を中央揃えにします。
            コンテンツの中央揃え: 中央; 
        }
        /* 最終的な動的グラデーション境界の実際のコンテンツは .wrap よりも大きいですが、階層関係によりオーバーフロー部分は非表示になり、中央部分は .content で覆われます。最終的に、.wrap と .content の間のギャップにのみ、回転するグラデーション背景が表示されます */
        .bgc {
            幅: 500ピクセル;
            高さ: 500px;
            背景: 線形グラデーション(#fff,#448de0);
            アニメーション: bgc 1.5 秒 無限線形;
            境界線の半径: 50%;
            位置: 絶対; 
            Zインデックス: -1;
        }
        /* コンテンツ領域は状況に応じてサイズを調整します */
        。コンテンツ {
            幅: 250ピクセル;
            高さ: 250px;
            背景色: #fff;
            境界線の半径: 20px;
        }
 /* グラデーションカラー背景回転アニメーション */
        @keyframes bgc {
            0% {
                変換: rotateZ(0);
            }

            100% {
                変換: rotateZ(360deg);
            }
        }
    </スタイル>

階層関係をよりわかりやすくするために、3D 関係図を作成しました。矢印が指している方向に近いほど、レベルが高くなります。一番小さい四角形がコンテンツ領域、一番大きい青い円が回転するグラデーション背景ですが、中央のボックスのサイズを超える部分は非表示になっています。

要約する

上記は、エディターが紹介したコンテンツ領域の周りを回転する CSS 動的グラデーション カラー ボーダーの効果です。皆様のお役に立てれば幸いです。ご質問がある場合は、メッセージを残してください。エディターがすぐに返信します。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。
この記事が役に立ったと思われた方は、ぜひ転載していただき、出典を明記してください。ありがとうございます!

<<:  JavaScript の基本オブジェクト

>>:  Dockerを使用して分散lnmpイメージを作成する

推薦する

DockerコンテナがSongtiなどのフォントを認識しない場合の解決策

問題の背景: docker を使用してプロジェクトをデプロイする場合、プロジェクト内で印刷コントロー...

WebデザイナーがRetinaディスプレイデバイス向けの画像を作成する方法

特記事項:この記事は、Chris Spooner の英語記事「Web デザイン用の Retina グ...

MySQL 学習チュートリアル クラスター化インデックス

クラスタリングは、実際には InnoDB データベース エンジンに関連しています。したがって、インデ...

MySQLとOracleの誤解の詳細な説明

目次本質的な違いデータベースセキュリティ権限スキーマの移行パターンオブジェクトの類似性スキーマオブジ...

データベース復旧エラーの原因となる MySQL 文字セットの簡単な分析

MySQL の文字セットエンコーディングが正しくないデータをインポートすると、エラーが表示されます。...

一般的な HBase 運用および保守ツール 10 個の概要

概要: HBase には、ユーザーに管理、分析、修復、デバッグ機能を提供するための多くの操作および保...

魔法のMySQLデッドロックトラブルシューティング記録

背景MySQL のデッドロックについて言えば、私は以前 MySQL のロックに関する基本的な紹介記事...

bashコマンドの使い方の詳細な説明

Linux では、基本的に vi エディタのように「.sh」拡張子を持つテキストの処理と実行を記述す...

JSは要素のドラッグとプレースホルダー機能を実装します

このブログ投稿は、ブロガーが数日前に取り組んだプロジェクトで遭遇した困難についてです。これを学んだ後...

MySQLでルートユーザーのパスワードを変更する方法

方法1: SET PASSWORDコマンドを使用する mysql> username@loca...

CSS でフロートをクリアするための完全ガイド (要約)

1. 親divは疑似クラスafterとzoomを定義します <スタイル タイプ="...

XHTML 入門チュートリアル: XHTML とは何ですか?

HTMLとは何ですか?簡単に言えば、HTML は Web ページを作成するために使用されます。とて...

TypeScript の Enum が問題となる理由

目次どうしたの?いつ使うか列挙の数を制御するビット値コントロールインデックス非数値列挙結論はType...

HTML ページの部分更新の実装コード

イベント応答の更新: 要求されたときのみ更新1. JS HTML DOM または jQuery を介...

Docker コンテナを他のサーバーに移行する 5 つの方法

多くの場合、移行は避けられません。ハードウェアのアップグレード、データ センターの変更、古いオペレー...