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 使用率が高くなる原因をトラブルシューティングするプロセスの詳細な説明

ブログ    

推薦する

カルーセル効果を実現するための純粋なjs

この記事では、カルーセルマップの効果を実現するためのjsの具体的なコードを参考までに共有します。具体...

Linux コマンドを素早く習得する 4 つの方法

Linux マスターになりたいなら、いくつかの Linux コマンドを習得することが不可欠です。 L...

バッチモードでtopコマンドを実行する方法

top コマンドは、Linux システムのパフォーマンスを監視するために誰もが使用している最適なコマ...

SQL文でのgroup byの使用について簡単に説明します

1. 概要Group by は、by の後の規則に従ってデータをグループ化することを意味します。いわ...

ElementUIはドロップダウンオプションと複数選択ボックスのサンプルコードを実装します

目次ドロップダウン複数選択ボックスアップグレード - すべてのオプションを追加改訂と改善を求める製品...

Linuxシステムにおけるキー認証に基づくSSHサービスのプロセス

ご存知のとおり、SSH は現在、リモート ログイン セッションやその他のネットワーク サービスにセキ...

nginx 用の zabbix 5.0 をインストールして展開する方法

目次実験環境インストールと展開データベースをインストールして設定します (ここでは mariadb ...

きちんとしたHTMLマークアップを使用してページを構築します

インターネットは絶えず進化する有機体です。長期にわたってインターネットの発展に適応できるページを構築...

Nginx http を https にアップグレードする手順を完了する

httpとhttpsの違いは一部のウェブサイトでは、http を開くと、安全ではないというメッセージ...

Web プロジェクトでの SQL インジェクションの防止

目次1. SQLインジェクションの概要2. SQLインジェクション攻撃の全体的な考え方SQLインジェ...

シェルスクリプトによるDockerコンテナの起動順序の制御の詳細な説明

1. 遭遇した問題分散プロジェクトの展開プロセスでは、サーバーの再起動後にアプリケーション(データベ...

JavaScript クラス配列の詳細な理解

js 配列はどこでも使用されているため、おそらく誰もがよく知っているでしょうが、配列クラス (疑似配...

Bootstrap 3.0 学習ノート グリッドシステム事例

序文前回の記事では、主にグリッドシステムの基本原理を学び、簡単なケースを通してその原理を実践しました...

Nginx のパフォーマンスを向上させるための提案

Web アプリケーションが 1 台のマシンでのみ実行される場合、パフォーマンスを向上させるのは非常に...

あまり一般的ではないが便利な CSS 属性操作の完全ガイド

1. カスタムテキスト選択 ::選択{ 背景: 赤; 色: 黒; } 2. ビデオコントロールからダ...