CSS3は光る境界線効果を実現します

CSS3は光る境界線効果を実現します

操作効果:

html

<!-- この要素は表示されません。DOM は JavaScript によって生成されます -->
<div class="root" style="display: none;">
  <div>
    <div class="サイド左"></div>
    <div class="サイドトップ"></div>
    <div class="サイド右"></div>
    <div class="サイドボトム"></div>
  </div>
</div>

CS

体 {
  マージン: 0;
  幅:100vw;
  高さ:100vh;
  背景: #010326;
}

。根 {
  --glow_width: 2px;
  --アニメーションの長さ: 2秒;
  --遅延係数: 2;

  位置: 絶対;
  左: 50%;
  上位: 50%;
  幅: 300ピクセル;
  高さ: 300px;
  変換: 移動(-50%, -50%) 回転(45度);

/* このシステムがどのように設定されているかを確認するには、以下の行のコメントを解除してください */
/* 境界線: 1px 破線赤; */
  オーバーフロー: 非表示;
}

.サイド{
  位置: 絶対;
  上: 0;
  左: 0;
}

.サイド.左,
.サイド.右{
  幅: var(--glow_width);
  高さ: 0;
  背景: linear-gradient(下へ、透明、#c03225、透明);
  アニメーション: heightAnim var(--animation_length) 線形無限、
    ハイダーcalc(var(--delay_factor) * var(--animation_length))
      var(--animation_length) 無限;
}

.サイド.トップ、
.サイド.ボトム {
  幅: 100%;
  高さ: var(--glow_width);
  背景: linear-gradient(左、透明、#c03225、透明);
  アニメーション: widthAnim var(--animation_length) 0s 線形無限、
    ハイダーcalc(var(--delay_factor) * var(--animation_length))
      var(--animation_length) 無限;
}

.サイド.右{
  左: 自動;
  右: 0;
  高さ: 0;
  アニメーション遅延: calc(var(--animation_length) / 2);
  アニメーション方向: 通常、逆方向;
}

.サイド.ボトム {
  上:自動;
  下部: 0;
  幅: 0;
  アニメーション遅延: calc(var(--animation_length) / 2);
  アニメーション方向: 通常、逆方向;
}

@keyframes 高さアニメーション {
  0% {
    高さ: 0px;
  }
  50% {
    高さ: 300px;
    変換: 初期;
  }
  100% {
    変換: translate(0, 300px);
  }
}

@keyframes 幅アニメーション {
  0% {
    幅: 0px;
  }
  50% {
    幅: 300ピクセル;
    変換: 初期;
  }
  100% {
    変換: translate(300px, 0px);
  }
}

@keyframes 非表示 {
  0%、
  50% {
    不透明度: 0;
  }
  51%、
  100% {
    不透明度: 1;
  }
}

js

テンプレートを `<div class="root" style="transform: translate(-50%, -50%) rotate({{ value }})"> にします。
<div>
    <div class="サイド左"></div>
    <div class="サイドトップ"></div>
    <div class="サイド右"></div>
    <div class="サイドボトム"></div>
  </div>
</div>`

セグメントを9にする
for(let i = -セグメント; i < セグメント; i++){
  document.body.innerHTML += template.replace("{{ value }}", 90/セグメント * i + "deg")
}

// document.body.innerHTML += template.replace("{{ value }}", 90/segments * 0 + "deg")

上記は、CSS3 で光るボーダー効果を実現する方法の詳細です。CSS3 で光るボーダー効果の詳細については、123WORDPRESS.COM の他の関連記事に注目してください。

<<:  MySQL実践ウィンドウ関数SQL分析クラスの生徒のテストの成績と生活費

>>:  Linux で CPU 使用率が高くなる原因をトラブルシューティングするプロセスの詳細な説明

推薦する

MySQL 接続数を設定する方法 (接続数が多すぎる)

mysql使用中に接続数が超過していることが判明しました~~~~ [root@linux-node...

超詳細なMySQL使用仕様の共有

最近、データベース関連の操作が多くなり、会社の既存の仕様はあまり包括的ではありません。インターネット...

Windows 10 Home EditionにDockerをインストールする方法を教えます

Redisの本やSpring Cloud Alibabaの本を執筆した際に、一部の分散コンポーネント...

html+cssレイアウトの3つの方法(ナチュラルレイアウト/フローレイアウト/ポジショニングレイアウト)

1. 自然なレイアウト<br />レイアウトは変更せずに自動的に左揃えになります。 2....

MySQL デュアルマシン ホットスタンバイ実装ソリューション [テスト可能]

目次1. コンセプト2. 環境の説明3. マスタースレーブホットスタンバイ実装1. コンセプト1. ...

MySQLカスケードレプリケーションの実装方法の例

いわゆるカスケード レプリケーションでは、マスター サーバーが 1 つのスレーブ サーバーにのみデー...

CSS3でよく使われるスタイルの詳しい解説[基本的なテキストとフォントのスタイル]

概要: Web ページをより美しく見せるために、ここでは CSS3 でよく使用されるスタイルをいくつ...

ラムダ式の原則と例

ラムダ式ラムダ式 (クロージャとも呼ばれる) は、Java 8 のリリースを推進した最も重要な新機能...

CSS3のbox-shadowプロパティの使い方の詳細な例

CSS には多くの属性があります。特に複数の値を設定する必要がある属性は、長期間使用しないと忘れられ...

Linux で ss コマンドと zabbix を組み合わせてソケットを監視する方法の詳細な説明

目次序文1. ssコマンド2. Zabbix監視マシンの全体的なソケットステータス2.1. スクリプ...

CSSをiPhoneのフルスクリーンに適応させる方法

1. メディアクエリ方式 /*iPhone X への適応*/ @media 画面のみ、(デバイス幅:...

JSscriptタグの属性は何ですか

JS スクリプト タグの属性は何ですか? charset : オプション。 src 属性で指定された...

アニメーション効果のようなVueトランジションの例

目次結果を一目で見るハート効果デジタルスクロールアニメーションアニメーションのように結果を一目で見る...

nginx を https をサポートするように設定するためのサンプル コード

1. はじめにあなたのウェブサイトはまだインターネット上に公開されたままですか?ここでは、HTTPS...

MySQL の遅いクエリを見つける方法

序文誰もが日常業務で SQL の最適化を経験したことがあると思います。したがって、最適化の前に、遅い...