CSS と JavaScript を使用して、マウスホバー時に反転したテキストの色の効果を作成するにはどうすればよいですか?

DDD
リリース: 2024-10-28 04:10:30
オリジナル
144 人が閲覧しました

How to create an inverted text color effect on mouse hover with CSS and JavaScript?

マウスホバー時にテキストの色を反転

目的は、黒いカーソルをテキスト要素の上に置いたときに、テキスト要素の色を反転することです。効果は次の GIF のようになります:

[効果を示す GIF]

CSS と JavaScript でこの効果を実現するには、次の手法を組み合わせて使用​​します:

  1. 複製テキストレイヤーを作成します: テキスト要素を複製し、元のレイヤーの上に直接配置します。複製したテキスト レイヤーの色を白に反転します。
  2. クリップ パスを使用して最上位レイヤーを表示します: クリップ パスを使用して、反転したテキスト レイヤーを表示する円形の領域を定義します。 .
  3. マウスの動きをリッスンします: ユーザーがテキスト上でカーソルを移動すると、カーソルの動きに一致するようにクリップパスの位置を調整します。

は次のとおりです。実装例:

<code class="javascript">var h = document.querySelector('h1');
var p = h.getBoundingClientRect();
var c = document.querySelector('.cursor');

document.body.onmousemove = function(e) {
  // Adjust the cursor position
  c.style.left = e.clientX + 'px';
  c.style.top = e.clientY + 'px';

  // Adjust the clip-path
  h.style.setProperty('--x', (e.clientX - p.top) + 'px');
  h.style.setProperty('--y', (e.clientY - p.left) + 'px');
};</code>
ログイン後にコピー
<code class="css">body {
  cursor: none;
}

h1 {
  color: #000;
  display: inline-block;
  margin: 50px;
  text-align: center;
  position: relative;
}

h1:before {
  position: absolute;
  content: attr(data-text);
  color: #fff;
  background: #000;
  clip-path: circle(20px at var(--x, -100%) var(--y, -100%));
}

.cursor {
  position: fixed;
  width: 40px;
  height: 40px;
  background: #000;
  border-radius: 50%;
  top: 0;
  left: 0;
  transform: translate(-50%, -50%);
  z-index: -2;
}</code>
ログイン後にコピー
<code class="html"><h1 data-text="WORK">WORK</h1>

<span class="cursor"></span></code>
ログイン後にコピー

これらの手法を組み合わせることで、マウス ホバー時に目的のテキストの色の反転効果を作成できます。

以上がCSS と JavaScript を使用して、マウスホバー時に反転したテキストの色の効果を作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!