CSS で点線の境界線のスクロール効果を実装するサンプルコード

CSS で点線の境界線のスクロール効果を実装するサンプルコード

マウスをある領域の上に置くと、その領域に点線の境界線と線のアニメーションが表示されるというクールな効果をよく見かけます。この効果はどのようにして実現されるのでしょうか。この記事では、参考になるアイデアをいくつか紹介します。

基本的なHTML

<div class="box">
  <p>テストテスト</p>
</div>

簡単な方法

これは背景画像を使用して行われます。

p は垂直方向に中央揃えにする必要があります。垂直方向に中央揃えにする方法を覚えていますか?詳細は別のブログをご覧ください〜

。箱 {
  幅: 100ピクセル;
  高さ: 100px;
  位置: 相対的;
  背景: url(upload/2022/web/selection.gif);
  p {
    位置: 絶対;
    左: 0;
    上: 0;
    右: 0;
    下部: 0;
    マージン: 自動;
    高さ: calc(100% - 2px);
    幅: calc(100% - 2px);
    背景色: #fff;
  }
}

繰り返し線形グラデーション

135 度の繰り返し線形グラデーション、p は高さを拡大し、白い背景が外側の div グラデーションを覆います。

。箱 {
  幅: 100ピクセル;
  高さ: 100px;
  背景: 繰り返し線形グラデーション(
    135度、
    透明、
    透明4ピクセル、
    #000 4ピクセル、
    #000 8ピクセル
  );
  overflow: hidden; // 垂直方向のマージンが崩れる問題を解決するために新しい BFC を作成します animation: move 1s infinite linear;
  p {
    高さ: calc(100% - 2px);
    マージン: 1px;
    背景色: #fff;
  }
}
@keyframes 移動 {
  から {
    背景位置: -1px;
  }
  に {
    背景位置: -12px;
  }
}

線形グラデーション&&背景

線形グラデーションと background-size を使用して点線を描き、background-position を使用して 4 辺に移動します。この方法の利点は、4 つのエッジのスタイルとアニメーションの方向を個別に設定できることです。注意深い生徒は、前の方法のアニメーションが時計回りでも反時計回りでもないことに気付くはずです。

。箱 {
  幅: 100ピクセル;
  高さ: 100px;
  背景: linear-gradient(0deg, transparent 6px, #e60a0a 6px) repeat-y,
    線形グラデーション(0度、透明度50%、#0f0ae8 0) 繰り返しy、
    線形グラデーション(90度、透明度50%、#09f32f 0) 繰り返しx、
    線形グラデーション(90度、透明度50%、#fad648 0) repeat-x;
  背景サイズ: 1px 12px、1px 12px、12px 1px、12px 1px;
  背景位置: 0 0, 100% 0, 0 0, 0 100%;
  アニメーション: move2 1s 無限線形;
  p {
    マージン: 1px;
  }
}
@keyframes 移動2 {
  から {
  }
  に {
    背景の位置: 0 -12px、100% 12px、12px 0、-12px 100%;
  }
}

線形グラデーション&&マスク

マスク属性仕様は、推奨仕様候補リストに含まれています。今後制定される仕様や標準に含まれることは当然のことです。将来役立つものなので、安心して学習してください。

ここでマスクを使用して同じアニメーションを実現することもできます。また、点線の境界線のグラデーションカラーの効果も実現できます。背景との違いは、マスクには中央に不透明なマスクが必要であることです。そうしないと、p 要素の内容が覆われてしまいます。

。箱 {
  幅: 100ピクセル;
  高さ: 100px;
  背景: 線形グラデーション(0度, #f0e, #fe0);
  -webkit-mask: linear-gradient(0deg, transparent 6px, #e60a0a 6px) repeat-y,
    線形グラデーション(0度、透明度50%、#0f0ae8 0) 繰り返しy、
    線形グラデーション(90度、透明度50%、#09f32f 0) 繰り返しx、
    線形グラデーション(90度、透明度50%、#fad648 0) 繰り返しx、
    linear-gradient(0deg, #fff, #fff) no-repeat; // ここでは任意の不透明色を使用できます -webkit-mask-size: 1px 12px, 1px 12px, 12px 1px, 12px 1px, 98px 98px;
  -webkit-mask-position: 0 0, 100% 0, 0 0, 0 100%, 1px 1px;
  オーバーフロー: 非表示;
  アニメーション: move3 1s 無限線形;
  p {
    高さ: calc(100% - 2px);
    マージン: 1px;
    背景色: #fff;
  }
}
@keyframes 移動3 {
  から {
  }
  に {
    -webkit-mask-position: 0 -12px、100% 12px、12px 0、-12px 100%、1px 1px;
  }
}

デモはこちらをクリック

要約する

上記は、エディターで導入された点線の境界線のスクロール効果を実現するための CSS のサンプルコードです。皆様のお役に立てれば幸いです。ご質問がある場合は、メッセージを残してください。エディターがすぐに返信します。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。
この記事が役に立ったと思われた方は、ぜひ転載していただき、出典を明記してください。ありがとうございます!

<<:  Web2.0製品と機能の簡単な紹介

>>:  Vueバインディングクラスとバインディングインラインスタイルの実装方法

推薦する

Reactイベントスロットリング効果が失敗する理由と解決策

目次ここでの問題は次の通りです:解決策1:解決策2: コンストラクタで初期化を割り当てる採掘場の概要...

HTML DOM入門_PowerNode Javaアカデミー

DOMとは何ですか? JavaScript を使用すると、HTML ドキュメント全体を再構築できます...

HTML テーブルの行間隔を変更する方法の例

HTML テーブルを使用する場合、行間隔を変更する必要がある場合がありますが、余白、パディング、折り...

Linux の wget コマンドの詳細な紹介

目次まずwgetをインストールするヘルプマニュアルを見る1. wgetを使用して単一のファイルをダウ...

Windows Server 2012 でファイル サーバーを構築するための詳細な手順

ファイル サーバーは、企業内で最も一般的に使用されるサーバーの一つであり、主にファイル共有を提供する...

JavaScript はクラス宝くじアプレットを実装します

この記事では、クラス抽選アプレットを実装するためのJavaScriptの具体的なコードを参考までに紹...

フローティングをクリアするいくつかの方法(推奨)

1. 同じタイプの空の要素を追加し、要素の CSS 属性 clear:both; を設定します。 ...

VMware+centOS 8 で http プロトコルに基づく Git サービスを構築する方法

目次1. 原因2. デバイス情報3. 準備4. Apacheをインストールする5. gitを設定する...

Vue のライフサイクルとフック関数の詳細な説明と典型的な面接の質問

目次1. Vue ライフサイクル2. フック機能2.1 4つの段階と8つの方法に分かれています。 2...

MySql ストレージ エンジンとインデックスに関する知識のまとめ

ストレージエンジンデータベース ストレージ エンジンとは何ですか?データベース エンジンは、データベ...

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

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

DockerにMinIOをインストールするための詳細な手順

目次1. docker環境が正常かどうかを確認する2. miniIOイメージをダウンロードする3. ...

MySQL の union と union all の簡単な分析

データベースでは、UNION キーワードと UNION ALL キーワードの両方が 2 つの結果セッ...

CentOS 7 でソースコードから Openssh をインストールする方法

環境: CentOS 7.1.1503 最小インストール依存パッケージをダウンロードします: yum...

Vue3 コンポジション API でロジックの再利用を実装する方法

Composition API はロジック再利用手順を実装します。ロジックコードを関数に抽出します。...