cari
Rumahhujung hadapan webtutorial cssKesan fokus galeri CSS tulen dengan: tidak

A Pure CSS Gallery Focus Effect with :not

Sebelum ini, menggayakan semua elemen dalam bekas kecuali yang dilanda JavaScript yang sering melibatkan JavaScript. Ini biasanya bermakna menambah atau mengeluarkan kelas pada peristiwa

dan mouseenter. Walaupun berfungsi, penyelesaian CSS tulen sering lebih baik. Artikel ini memperincikan pendekatan CSS sahaja, yang pada mulanya diilhamkan oleh teknik yang digunakan dalam mencipta semula animasi seperti laman utama Netflix. Walau bagaimanapun, percubaan sebelumnya menggunakan kaedah ini gagal pada susun atur berasaskan grid kerana jurang antara unsur-unsur. Artikel ini membentangkan penyelesaian yang elegan mengendalikan jurang ini. mouseleave

markup dan asas CSS

HTML asas menggunakan senarai berasaskan grid:

  • : grid kontena. .grid
  • : item grid individu. .grid__child
markup adalah seperti berikut:


gaya awal CSS grid dan anak -anaknya:

.grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, 15rem);
  grid-gap: 1rem;
}

.grid__child {
  background: rgba(0, 0, 0, .1);
  border-radius: .5rem;
  aspect-ratio: 1/1;
}
Ini mewujudkan grid tiga lajur (menyesuaikan secara dinamik berdasarkan saiz skrin) dengan jurang antara item.

memanfaatkan pemilih CSS

Interaksi teras melibatkan dua langkah:

    melayang bekas mempengaruhi semua kanak -kanak.
  1. kanak -kanak yang melayang itu sendiri dikecualikan.
Pertama, kami mensasarkan semua kanak -kanak apabila bekas itu berlegar:

.grid:hover .grid__child {
  /* ... */
}
Seterusnya, kami mengecualikan kanak -kanak yang sedang berlegar menggunakan

untuk mengurangkan kelegapan: :not(:hover)

.grid:hover .grid__child:not(:hover) {
  opacity: 0.3;
}
Ini berfungsi dengan sempurna tanpa jurang antara unsur -unsur. Walau bagaimanapun, dengan jurang, kesannya mencetuskan walaupun kursor berada di atas jurang itu sendiri.

Menangani jurang

Penyelesaiannya terletak pada peristiwa penunjuk mengawal. Dengan menetapkan

pada bekas pointer-events: none dan .grid pada anak -anaknya, kami memastikan kesan hover hanya mencetuskan apabila secara langsung ke atas elemen kanak -kanak, dengan berkesan mengabaikan jurang. pointer-events: auto

Menambah peralihan untuk perubahan kelegapan yang lebih lancar melengkapkan kesan.
.grid {
  /* ... */
  pointer-events: none;
}

.grid__child {
  /* ... */
  pointer-events: auto;
}

CSS akhir yang menggabungkan penyelesaian ini ialah:

Batasan Potensi
.grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, 15rem);
  grid-gap: 3rem;
  pointer-events: none;
}

.grid:hover .grid__child:not(:hover) {
  opacity: 0.3;
}

.grid__child {
  background: rgba(0, 0, 0, .1);
  border-radius: .5rem;
  aspect-ratio: 1/1;
  pointer-events: auto;
  transition: opacity 300ms;
}

Walaupun berkesan, pendekatan ini mungkin memerlukan pelarasan untuk bekas scrollable (mis., Slider mendatar). Dalam kes sedemikian, membungkus

dalam bekas lain boleh menjadi penyelesaian.

.grid Kesimpulan

Ini menunjukkan penyelesaian CSS tulen yang kuat untuk cabaran interaksi yang sama. Dengan memanfaatkan pemilih CSS lanjutan dan kawalan acara penunjuk, kami mencapai kesan yang canggih tanpa menggunakan JavaScript, yang membawa kepada kod yang lebih bersih dan lebih diselenggara. Ini menonjolkan keupayaan CSS yang semakin meningkat dan menggalakkan meneroka penyelesaian asli sebelum menambah kerumitan JavaScript.

Atas ialah kandungan terperinci Kesan fokus galeri CSS tulen dengan: tidak. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
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
Begitu banyak pautan warnaBegitu banyak pautan warnaApr 13, 2025 am 11:36 AM

Di sana ' s telah menjalankan alat, artikel, dan sumber tentang warna akhir -akhir ini. Tolong izinkan saya menutup beberapa tab dengan membulatkannya di sini untuk keseronokan anda.

Bagaimana margin automatik berfungsi di flexboxBagaimana margin automatik berfungsi di flexboxApr 13, 2025 am 11:35 AM

Robin telah menutupi ini sebelum ini, tetapi saya telah mendengar kekeliruan mengenainya dalam beberapa minggu yang lalu dan melihat orang lain menikam menerangkannya, dan saya mahu

Melangkah Rainbow Garis bawahMelangkah Rainbow Garis bawahApr 13, 2025 am 11:27 AM

Saya sangat suka reka bentuk tapak sandwic. Di antara banyak ciri yang indah ialah tajuk utama ini dengan garis bawah Rainbow yang bergerak ketika anda menatal. Ia ' s tidak

Tahun Baru, pekerjaan baru? Let ' s membuat resume berkuasa grid!Tahun Baru, pekerjaan baru? Let ' s membuat resume berkuasa grid!Apr 13, 2025 am 11:26 AM

Banyak reka bentuk resume yang popular membuat sebahagian besar ruang halaman yang tersedia dengan meletakkan bahagian dalam bentuk grid. Mari kita gunakan grid CSS untuk membuat susun atur yang

Salah satu cara untuk memecahkan pengguna dari kebiasaan tambah nilai terlalu banyakSalah satu cara untuk memecahkan pengguna dari kebiasaan tambah nilai terlalu banyakApr 13, 2025 am 11:25 AM

Tambah nilai halaman adalah satu perkara. Kadang -kadang kita menyegarkan halaman apabila kita fikir ia tidak bertindak balas, atau percaya bahawa kandungan baru tersedia. Kadang -kadang kita hanya marah

Reka bentuk yang didorong oleh domain dengan ReactReka bentuk yang didorong oleh domain dengan ReactApr 13, 2025 am 11:22 AM

Terdapat panduan yang sangat sedikit tentang cara mengatur aplikasi front-end di dunia React. (Hanya gerakkan fail sehingga ia "terasa betul," lol). Kebenaran

Mengesan pengguna yang tidak aktifMengesan pengguna yang tidak aktifApr 13, 2025 am 11:08 AM

Kebanyakan masa anda tidak benar -benar peduli sama ada pengguna secara aktif terlibat atau tidak aktif sementara pada aplikasi anda. Tidak aktif, makna, mungkin mereka

Wufoo ZapierWufoo ZapierApr 13, 2025 am 11:02 AM

Wufoo sentiasa hebat dengan integrasi. Mereka mempunyai integrasi dengan aplikasi tertentu, seperti Monitor Kempen, MailChimp, dan TypeKit, tetapi mereka juga

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

MinGW - GNU Minimalis untuk Windows

MinGW - GNU Minimalis untuk Windows

Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.

DVWA

DVWA

Damn Vulnerable Web App (DVWA) ialah aplikasi web PHP/MySQL yang sangat terdedah. Matlamat utamanya adalah untuk menjadi bantuan bagi profesional keselamatan untuk menguji kemahiran dan alatan mereka dalam persekitaran undang-undang, untuk membantu pembangun web lebih memahami proses mengamankan aplikasi web, dan untuk membantu guru/pelajar mengajar/belajar dalam persekitaran bilik darjah Aplikasi web keselamatan. Matlamat DVWA adalah untuk mempraktikkan beberapa kelemahan web yang paling biasa melalui antara muka yang mudah dan mudah, dengan pelbagai tahap kesukaran. Sila ambil perhatian bahawa perisian ini

EditPlus versi Cina retak

EditPlus versi Cina retak

Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod

SublimeText3 Linux versi baharu

SublimeText3 Linux versi baharu

SublimeText3 Linux versi terkini

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan