マウスをある領域の上に置くと、その領域に点線の境界線と線のアニメーションが表示されるというクールな効果をよく見かけます。この効果はどのようにして実現されるのでしょうか。この記事では、参考になるアイデアをいくつか紹介します。 基本的な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 ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。 |
>>: Vueバインディングクラスとバインディングインラインスタイルの実装方法
目次ここでの問題は次の通りです:解決策1:解決策2: コンストラクタで初期化を割り当てる採掘場の概要...
DOMとは何ですか? JavaScript を使用すると、HTML ドキュメント全体を再構築できます...
HTML テーブルを使用する場合、行間隔を変更する必要がある場合がありますが、余白、パディング、折り...
目次まずwgetをインストールするヘルプマニュアルを見る1. wgetを使用して単一のファイルをダウ...
ファイル サーバーは、企業内で最も一般的に使用されるサーバーの一つであり、主にファイル共有を提供する...
この記事では、クラス抽選アプレットを実装するためのJavaScriptの具体的なコードを参考までに紹...
1. 同じタイプの空の要素を追加し、要素の CSS 属性 clear:both; を設定します。 ...
目次1. 原因2. デバイス情報3. 準備4. Apacheをインストールする5. gitを設定する...
目次1. Vue ライフサイクル2. フック機能2.1 4つの段階と8つの方法に分かれています。 2...
ストレージエンジンデータベース ストレージ エンジンとは何ですか?データベース エンジンは、データベ...
目次MySQL 5.6以前MySQL 5.6以降要約する知らせMySQL 5.6以前更新手順元のテー...
目次1. docker環境が正常かどうかを確認する2. miniIOイメージをダウンロードする3. ...
データベースでは、UNION キーワードと UNION ALL キーワードの両方が 2 つの結果セッ...
環境: CentOS 7.1.1503 最小インストール依存パッケージをダウンロードします: yum...
Composition API はロジック再利用手順を実装します。ロジックコードを関数に抽出します。...