コンテンツ領域の周囲を回転する 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データベースとテーブルシャーディングの概要

プロジェクトの開発中に、データベースのデータがどんどん大きくなり、その結果、1 つのテーブルにデータ...

Vue ElementUI は非同期読み込みツリーを実装します

この記事の例では、vue ElementUI の非同期読み込みツリーを実装するための具体的なコードを...

Vue2で配列の変更を検出できない理由と解決策

目次回避策Vue2.0 で 2 つの配列の変更を監視できないのはなぜですか?ソースコード分析ヴュー3...

CSSは高度に適応したフルスクリーンを実現します

独自のデモを作成するときに、display:flex を使用して垂直方向の中央揃えを実現したいと思い...

webpackのモバイル適応ソリューションの概要

目次レムフォルクスワーゲンサードパーティのUIフレームワークに適応する結論モバイル開発における最も一...

Word のコンテンツを Web サイトのエディターに直接コピーすることはお勧めしません。

<br />質問: Word のコンテンツを Web サイトのエディターに直接コピーする...

js で 0ms 遅延タイマーを実装するいくつかの方法

目次キューマイクロタスク非同期/待機メッセージチャネルやっと付録ここ二日間、「タイムリーな setT...

Linux での SSH パスワードフリーログイン設定の詳細な説明

Linux サーバー A と B が 2 台あり、一方のサーバーから SSH 経由でパスワードなしで...

nginxを使用してドメイン名ベースの仮想ホストを構成する

1. 仮想ホストとは何ですか?仮想ホストは、特殊なテクノロジーを使用して、実行中のサーバーを論理的に...

CentOS 7 で grub パスワードと単一ユーザー ログインを設定するサンプル コード

Centos7 と Centos6 では、GRUB パスワードの設定手順に大きな違いがあります。これ...

WeChatアプレットがSMS認証コード送信のカウントダウンを実装

この記事では、WeChatアプレットがSMS認証コードのカウントダウンを送信するための具体的なコード...

background-positionプロパティでのパーセンテージ値の使用法の検討

背景位置が背景画像の表示に与える影響この2日間のプロジェクトでホームページの写真を入れ替えていたとこ...

UA による Web サイトのクロールを防ぐ Nginx のクローラー対策戦略

クローラー対策ポリシー ファイルを追加しました: vim /usr/www/server/nginx...

NginxはIP経由の直接アクセスを禁止し、カスタム500ページにリダイレクトします

設定ファイルに直接 サーバー{ listen 80 default; # IPへの直接アクセスを禁止...

MySQL 分離レベル操作プロセスの詳細説明 (cmd)

コミットされていない読み取りの例の操作プロセス - コミットされていない読み取り1. 2 つの My...