Rumah > hujung hadapan web > tutorial css > Bagaimana untuk Mencapai Kesan Hover Warna Teks Terbalik Menggunakan Laluan Klip CSS dan JavaScript?

Bagaimana untuk Mencapai Kesan Hover Warna Teks Terbalik Menggunakan Laluan Klip CSS dan JavaScript?

Barbara Streisand
Lepaskan: 2024-10-28 03:51:30
asal
871 orang telah melayarinya

How to Achieve an Inverted Text Color Hover Effect Using CSS Clip-paths and JavaScript?

Terbalikkan Warna Teks pada Tuding Tetikus Menggunakan CSS dan JavaScript

Untuk mencapai kesan tuding yang diingini, di mana teks hitam bertukar menjadi putih sambil mengekalkan penampilan kursor hitam, kita boleh menggabungkan keupayaan laluan klip CSS dengan pengendalian acara JavaScript.

Pendekatannya terdiri daripada mencipta dua lapisan teks: lapisan teks utama dan lapisan teks terbalik. Lapisan teks terbalik diletakkan di belakang lapisan teks utama dan warna teksnya ditetapkan kepada putih.

Menggunakan JavaScript, kami menangkap pergerakan tetikus dan melaraskan laluan klip lapisan teks terbalik secara dinamik. Semasa tetikus bergerak, laluan klip dilaraskan untuk mendedahkan lebih banyak teks terbalik, mewujudkan ilusi teks utama yang menyongsangkan warnanya.

Berikut ialah pecahan komponen kod utama:

<code class="css">/* Primary Text Layer */
h1 {
  color: #000;
  position: relative;
}

/* Inverted Text Layer */
h1:before {
  position: absolute;
  content: attr(data-text); /* Same text as primary layer */
  color: #fff;
  background: #000;
  clip-path: circle(0 at var(--x, -100%) var(--y, -100%)); /* Dynamic Clip-path */
}

/* Cursor */
.cursor {
  position: fixed;
  width: 40px;
  height: 40px;
  background: #000;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  z-index: -2;
}</code>
Salin selepas log masuk
<code class="javascript">// Event Listener for Mouse Movement
document.body.onmousemove = function(e) {
  // Update cursor position
  cursor.style.left = e.clientX + 'px';
  cursor.style.top = e.clientY + 'px';

  // Update clip-path of inverted layer based on mouse position
  h1.style.setProperty('--x', (e.clientX - p.top) + 'px');
  h1.style.setProperty('--y', (e.clientY - p.left) + 'px');
};</code>
Salin selepas log masuk

Contoh Kod:

<code class="html"><h1 data-text="WORK">WORK</h1>
<span class="cursor"></span></code>
Salin selepas log masuk

Hasil:

Apabila anda menuding pada teks "KERJA", teks hitam secara beransur-ansur akan beralih kepada putih apabila kursor tetikus bergerak.

Atas ialah kandungan terperinci Bagaimana untuk Mencapai Kesan Hover Warna Teks Terbalik Menggunakan Laluan Klip CSS dan JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan