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

推薦する

MySQL 8.0.15 バージョンのインストールチュートリアル Navicat.list への接続

落とし穴1. ネット上の多くのチュートリアルでは環境変数を設定するファイル名はmy.iniと書いてあ...

シンプルなプログレスバーを作成するための HTML+CSS

1. HTMLコードコードをコピーコードは次のとおりです。経験値: <span class=...

Typescript での infer キーワードの使用に関する詳細な理解

目次推測する事例:理解を深める参照する後で忘れないように、キーワード infer をメモしておきます...

js のプロトタイプ、プロトタイプ オブジェクト、プロトタイプ チェーンの包括的な分析

目次プロトタイプを理解するプロトタイプオブジェクトを理解するインスタンスプロパティとプロトタイププロ...

ReactアプリケーションにおけるDOM DIFFアルゴリズムの詳細な説明

目次序文VirtualDOM とは何ですか? VirtualDOMを使用する理由DOMレンダリングペ...

JS のオブジェクトリテラルの詳細な説明

目次序文1. オブジェクト構築にプロトタイプを設定する1.1 __proto__ の使用における特殊...

MySQL でよく使われる型変換関数の概要 (推奨)

1. Concat関数。よく使用される接続文字列: concat 関数。たとえば、SQLクエリ条件...

UbuntuへのDocker CEのインストール

この記事は、Ubuntu 17.10 での Docker CE のインストールを記録するために使用さ...

IIS サーバーから apk ファイルをダウンロードする際の 404 エラーの解決策

最近、IIS をサーバーとして使用すると、apk ファイルがサーバーにアップロードされましたが、ダウ...

MySQL 全文あいまい検索 MATCH AGAINST メソッドの例

MySQL 4.x 以降では、全文検索 MATCH ... AGAINST モード (大文字と小文字...

IDEA が Docker を統合してリモート展開を実現するための詳細な手順

1. Dockerサーバーへのリモートアクセスを有効にするdocker が配置されているリモート サ...

JavaScript の 7 つのデータ型の詳細な説明

目次序文:詳しい紹介:練習する:要約する序文: Python、Java、Cシリーズなど、すべての主要...

Vueコンポーネントの動的コンポーネントの詳細な説明

目次要約する要約する配列が変更されると、対応するデータを動的にロードしますシナリオ: 異なるコンポー...

この記事では、CSSのようなJSモジュールをインポートする方法を説明します。

目次序文構築可能なスタイルシートとは何ですか? CSSモジュールスクリプトの使用インポートアサーショ...

jQueryはフォントサイズ調整ケースを実装します

この記事では、フォントサイズを調整するためのjQueryの具体的なコードを参考までに紹介します。具体...