Rumah > hujung hadapan web > tutorial css > Bagaimanakah Anda Boleh Melumpuhkan Gaya CSS :hover pada Peranti Sentuh dengan Berkesan?

Bagaimanakah Anda Boleh Melumpuhkan Gaya CSS :hover pada Peranti Sentuh dengan Berkesan?

Patricia Arquette
Lepaskan: 2024-10-30 02:21:02
asal
260 orang telah melayarinya

How Can You Effectively Disable :hover CSS Styles on Touch Devices?

Mengabaikan :Tuding Gaya CSS pada Peranti Sentuh

Apabila membangunkan tapak web, adalah wajar untuk mengalih keluar atau mengabaikan :tuding perisytiharan CSS untuk peranti sentuh, kerana pengisytiharan ini boleh menjadi janggal dan tidak perlu.

Cepat dan Kotor: Menggunakan JavaScript

Satu pendekatan ialah menggunakan JavaScript untuk mengalih keluar semua peraturan gaya yang mengandungi :hover. Kaedah ini serasi dengan penyemak imbas lama dan tidak memerlukan pengubahsuaian CSS.

<code class="javascript">function hasTouch() {
  // Check for various touch event APIs.
  ...
}

if (hasTouch()) {
  // Loop through stylesheets and remove :hover rules.
  ...
}</code>
Salin selepas log masuk

Penghadan:

  • Lembaran gaya mesti dihoskan pada domain yang sama.
  • Tetikus dan peranti sentuh bercampur masih boleh mencetuskan peristiwa :tuding, memberi kesan negatif kepada pengalaman pengguna.

CSS Sahaja: Pertanyaan Media

Sebagai alternatif, anda boleh menggunakan pertanyaan media untuk melumpuhkan gaya :tuding untuk peranti tertentu.

<code class="css">@media (hover: none) {
  a:hover {
    color: inherit;
  }
}</code>
Salin selepas log masuk

Penghadan:

  • Memerlukan pertanyaan media, yang tidak disokong oleh semua penyemak imbas.
  • Tidak berfungsi pada tetikus bercampur dan peranti sentuh.

Paling Teguh: Pengesanan JavaScript

Untuk penyelesaian yang paling boleh dipercayai, mengesan peristiwa sentuh menggunakan JavaScript dan menyediakan peraturan :hover dengan kelas tersuai.

<code class="css">body.hasHover a:hover {
  color: blue;
}</code>
Salin selepas log masuk
<code class="javascript">function hasTouch() {
  // Check for various touch event APIs.
  ...
}

if (!hasTouch()) {
  document.body.className += ' hasHover';
}</code>
Salin selepas log masuk

Kaedah ini mengatasi batasan pendekatan CSS sahaja tetapi mungkin masih mempunyai masalah pada tetikus campuran dan peranti sentuh.

Untuk menangani perkara ini, laksanakan pendekatan yang lebih canggih yang membolehkan kesan tuding berdasarkan pergerakan kursor tetikus dan melumpuhkannya pada acara sentuhan.

<code class="javascript">function watchForHover() {
  // Initialize variables for touch detection.
  ...

  // Add or remove the "hasHover" class depending on user actions.
  ...
}

watchForHover();</code>
Salin selepas log masuk

Penyelesaian ini menyediakan pengesanan dan pengendalian yang boleh dipercayai gaya tuding pada semua peranti, tanpa menjejaskan pengalaman pengguna.

Atas ialah kandungan terperinci Bagaimanakah Anda Boleh Melumpuhkan Gaya CSS :hover pada Peranti Sentuh dengan Berkesan?. 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