コンテンツ領域の周囲を回転する 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イメージを作成する

推薦する

vue-routerのマッチングに基づいてパンくずリスト機能を実現する

この記事では主にvue-routerのmatchedをベースにしたbreadcrumb機能を紹介し、...

HTMLでのラジオ値の取得、割り当て、登録の詳細な説明

1. ラジオのグループ化名前が同じであれば、それらはグループであり、つまり、次のようにグループ内で選...

枠線や境界線のない iframe を使用するための完全ガイド (実践経験のまとめ)

<iframe src=”ページのURL” width=”100″ height=”30″ f...

MySQL MHA の高可用性構成とフェイルオーバーの詳細な導入手順

目次1. MHAの紹介1. MHAとは何ですか? 2. MHAの構成3. MHAの特徴2. MySQ...

フローティングメニュー、上下スクロール効果を実現できます

コードはさらに合理化できますが、時間の制約があるため、まずはここで投稿して、自分で最適化してメニュー...

Vue ファースト スクリーン パフォーマンス最適化コンポーネントの知識ポイントの概要

Vue ファースト スクリーン パフォーマンス最適化コンポーネントVue ファースト スクリーン パ...

Vue ローカルコンポーネントデータ共有 Vue.observable() の使用

コンポーネントが詳細になるにつれて、複数のコンポーネントが状態を共有する状況に遭遇するでしょう。Vu...

MySqlはページクエリ機能を実装します

まず、ページ分割クエリを使用する理由を明確にする必要があります。データが膨大なため、すべてのデータを...

scss で mixin が動作しない問題の解決方法 (ブラウザでコンパイルできない)

ミックスインメソッド: ブラウザはコンパイルできません: 以前のバージョンのsassでは上記の記述方...

MySQLのビューの詳細な説明

ビュー: MySQL のビューはテーブルと多くの類似点があります。ビューも複数のフィールドと複数のレ...

jQueryはすべての選択と逆選択操作ケースを実装します

この記事では、全選択と逆選択操作を実装するためのjQueryの具体的なコードを参考までに共有します。...

Spring jdbc のデータベース操作オブジェクト モデルの詳細な例

Spring jdbc のデータベース操作オブジェクト モデルの詳細な例Spring Jdbc デー...

MySQL 8.0 の降順インデックス

序文インデックスが順序付けられていることは誰もが知っていると思いますが、MySQL の以前のバージョ...

Windows での Apache+Tomcat7 負荷分散構成方法の詳細な説明

準備Windows Server 2008 R2 Enterprise (2.40GH、8GB、64...

Mysql ALTER TABLE はフィールドを追加するときにテーブルをロックしますか?

目次MySQL 5.6以前MySQL 5.6以降要約する知らせMySQL 5.6以前更新手順元のテー...