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バインディングクラスとバインディングインラインスタイルの実装方法

推薦する

Vue バックグラウンドでステータス ラベルをエレガントに記述する例

目次序文最適化変数の抽出二次包装 el-tag コンポーネント使用要約する序文バックエンドシステムの...

docker tagとdocker pushの使い方の詳しい説明

Dockerタグの詳しい説明docker tag コマンドの使い方と、ローカルイメージを daocl...

加算、減算、乗算、除算の機能を実現するには、HTML に 2 つの数値を入力します。

1. parseFloat() 関数Web ページ上に簡単な計算機を作成し、テキスト ボックスに ...

Centos7 での python3 のインストールとアンインストールに関するチュートリアル

1. Python 3をインストールする1. 依存パッケージをインストールしますyum instal...

JavaScript WeakMap の使い方の詳しい説明

WeakMap オブジェクトは、キーが弱参照であるキー/値のペアのコレクションです。キーはオブジェク...

CSS3で実装された炎のアニメーション

成果を達成する実装コードhtml <div class="コンテナ">...

MySQL の 2 種類の一時テーブルの使用方法の詳細な説明

外部一時テーブルCREATE TEMPORARY TABLE によって作成された一時テーブルは、外部...

Vue で Graphql インターフェースを実装する例

注意:この記事は現在取り組んでいる nestjs+graphql+serverless 合宿における...

vue-router 4 の使用例の詳しい説明

目次1. インスタンスをインストールして作成する2. vue-router4の新機能2.1 動的ルー...

Ubuntu 18.04 のインストールで「ldlinux.c32 のロードに失敗しました」というエラーが表示され、解決手順がわかりません

序文私は Win7 を搭載した古いラップトップを持っています。古いシステムを維持しながら、同時に U...

MySQL のテーブルリターンとインデックスカバレッジの例の詳細な説明

目次インデックスタイプインデックス構造非クラスター化インデックスクエリインデックスカバー要約するイン...

MySQL バッチ挿入ループの詳細なサンプルコード

背景数日前、MySql でページングを行っていたときに、ページングに制限 0,10 を使用するとデー...

Linux での一般的なシェル スクリプト コマンドと関連知識

目次1. 覚えておくべき知識1. 変数タイプ2. シェル変数の説明3. シングルクォート、ダブルクォ...

Javascriptを使用して滑らかな曲線を生成する方法

目次序文ベジェ曲線の紹介二次ベジェ曲線3次ベジェ曲線ベジェ曲線計算機能フィッティングアルゴリズム付録...

CSS アニメーション プロパティの使用方法とサンプル コード (transition/transform/animation)

開発中、優れたユーザー インターフェイスには常にいくつかのアニメーションが組み込まれます。 CSS ...