Cepat menguji projek anda: Buka penyemak imbas anda, gunakan kunci tab sahaja, dan cuba menavigasi antara elemen interaktif seperti butang, pautan, dan elemen bentuk.
Jika anda seorang pengguna dengan penglihatan biasa, anda harus dapat melihat perubahan visual apabila tumpuan melompat antara elemen DOM. Tetapi jika tidak ada perubahan visual, atau perubahan itu adalah minimum, maka anda dapat mencari cara untuk membuat perbezaan besar bagi pelawat anda.
Artikel ini akan memperkenalkan teknik untuk menguruskan gaya fokus projek dengan lebih cekap menggunakan sifat tersuai CSS dan mempelajari pemilih fokus CSS moden. Pertama, mari kita faham mengapa gaya fokus yang kelihatan sangat penting.
Memenuhi standard gaya fokus WCAG
Status fokus yang kelihatan mematuhi Garis Panduan Kebolehcapaian Kandungan Web (WCAG) Standard 2.4.7 - Fokus dapat dilihat. Dokumen "pemahaman" dalam 2.4.7 menyatakan niat standard ini:
Tujuan kriteria kejayaan ini adalah untuk membantu pengguna memahami elemen mana yang mempunyai fokus papan kekunci. Ia mesti dapat membiarkan pengguna mengetahui elemen unsur berganda yang mempunyai fokus papan kekunci.
Dalam WCAG 2.2 yang akan datang, standard baru akan ditambah untuk menjelaskan "betapa jelasnya penunjuk fokus." Walaupun masih dalam peringkat draf, akrab dengan dan memohon panduan dalam 2.4.11 - penampilan fokus (minimum) sudah pasti langkah aktif untuk meningkatkan gaya fokus yang boleh anda ambil hari ini.
Urus gaya fokus dengan atribut tersuai CSS
Satu teknik yang saya mula menggunakan tahun ini adalah untuk memasukkan tetapan berikut seawal mungkin pada elemen asas interaktif utama dalam lembaran cascading saya:
<code>:is(a, button, input, textarea, summary) { --outline-size: max(2px, 0.08em); --outline-style: solid; --outline-color: currentColor; } :is(a, button, input, textarea, summary):focus { outline: var(--outline-size) var(--outline-style) var(--outline-color); outline-offset: var(--outline-offset, var(--outline-size)); }</code>
Ini melekatkan sifat tersuai, yang membolehkan anda fleksibel menyesuaikan bahagian -bahagian tertentu gaya garis besar yang diperlukan untuk memastikan fokus tetap kelihatan apabila konteks unsur berubah.
Untuk --outline-size
, kami menggunakan max()
untuk memastikan nilai sekurang-kurangnya 2px sambil membenarkan skala berdasarkan 0.08em
berdasarkan komponen (mis., Butang besar atau pautan dalam tajuk).
Hartanah yang anda tidak biasa dengan di sini adalah outline-offset
, yang mentakrifkan ruang antara elemen dan garis besar. Anda juga boleh memberikan nombor negatif untuk membenamkan garis besar, yang sangat berguna untuk memastikan kontras gaya fokus. Dalam set peraturan kami, kami menetapkan harta ini untuk menerima Property Custom Pilihan --outline-offset
supaya ia boleh disesuaikan jika diperlukan, jika tidak, ia akan kembali ke saiz --outline-size
.
Peningkatan penampilan kontur
Semasa karier saya, saya telah diminta untuk menghapuskan kontur dan juga telah mengeluarkan kontur sendiri kerana mereka dianggap "tidak sedap."
Kini terdapat dua sebab mengapa kontur tidak boleh dikeluarkan (kecuali kesan kebolehaksesan):
- Dalam Chromium dan Firefox,
outline
kini mengikutiborder-radius
!box-shadow
- Dengan
:focus-visible
, kita boleh meminta penyemak imbas menggunakan heuristik untuk memaparkan gaya fokus hanya apabila corak input yang memerlukan tumpuan yang dapat dilihat dikesan. Singkatnya, ini bermakna pengguna tetikus tidak akan melihatnya apabila diklik, dan pengguna papan kekunci masih akan melihatnya apabila kekunci tab beroperasi.
Harus diingat bahawa unsur-unsur bentuk sentiasa memaparkan gaya fokus-mereka tidak terhad oleh :focus-visible
.
Oleh itu, mari kita tingkatkan peraturan kita, tambah yang berikut untuk memasukkan :focus-visible
. Kami akan menyimpan awal :focus
yang telah kami tentukan untuk pelayar lama sekiranya ia tidak akan hilang.
<code>:is(a, button, input, textarea, summary):focus-visible { outline: var(--outline-size) var(--outline-style) var(--outline-color); outline-offset: var(--outline-offset, var(--outline-size)); }</code>
Oleh kerana penyemak imbas cara mengendalikan pemilih yang mereka tidak faham, kita perlu memisahkan peraturan ini, walaupun mereka menentukan sifat garis besar yang sama, kita tidak dapat menggabungkannya bersama -sama.
Akhirnya, kita juga memerlukan peraturan ini :focus:not(:focus-visible)
yang pelik ini, yang menghilangkan gaya fokus biasa untuk penyemak imbas yang menyokong :focus-visible
:
<code>:is(a, button, input, textarea, summary):focus:not(:focus-visible) { outline: none; }</code>
Perlu diingat bahawa versi terkini Chromium dan Firefox telah beralih kepada menggunakan :focus-visible
sebagai cara lalai untuk menggunakan gaya fokus pada unsur-unsur interaktif dan baru-baru ini telah diaktifkan sebagai cara lalai di WebKit, jadi ia sepatutnya akan datang dalam versi stabil Safari! Peraturan kami masih sah kerana kami menyesuaikan penampilan garis besar.
Untuk lebih banyak panduan mengenai gaya fokus yang kelihatan, saya cadangkan panduan yang indah dan komprehensif Sara Soueidan mengenai petunjuk fokus, kerana ia mengambil kira standard 2.4.11 yang akan datang.
Demonstrasi gaya fokus
Contoh ini menunjukkan setiap elemen interaktif ini dan cara menggunakan tetapan tersuai menggunakan sifat tersuai, termasuk beberapa perubahan kepada mod gelap. Bergantung pada sokongan penyemak imbas anda, anda mungkin tidak melihat gaya fokus melainkan jika anda menggunakan kekunci Tab, kerana :focus-visible
digunakan.
Perkara terakhir: Dari segi gaya fokus, button
adalah elemen interaktif yang unik kerana ia mempunyai pertimbangan tambahan antara negeri -negeri, terutama jika anda hanya bergantung pada warna. Untuk bantuan, cuba gunakan penjana palet dalam projek saya ButtonBuddy.dev.
Atas ialah kandungan terperinci Menyeragamkan gaya fokus dengan CSS Custom Properties. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Terdapat tiga cara untuk membuat pemutar pemuatan CSS: 1. Gunakan pemutar asas sempadan untuk mencapai animasi mudah melalui HTML dan CSS; 2. Gunakan pemutar tersuai pelbagai mata untuk mencapai kesan lompat melalui masa kelewatan yang berlainan; 3. Tambahkan pemutar dalam butang dan beralih kelas melalui JavaScript untuk memaparkan status pemuatan. Setiap pendekatan menekankan pentingnya butiran reka bentuk seperti warna, saiz, kebolehcapaian dan pengoptimuman prestasi untuk meningkatkan pengalaman pengguna.

Untuk menangani keserasian pelayar CSS dan isu awalan, anda perlu memahami perbezaan sokongan penyemak imbas dan menggunakan awalan vendor dengan munasabah. 1. Memahami masalah biasa seperti Flexbox dan sokongan grid, kedudukan: prestasi tidak sah, dan prestasi animasi adalah berbeza; 2. Periksa status sokongan ciri CANIUSE Ciri; 3. Gunakan dengan betul -webkit-, -moz-, -ms-, -o- dan awalan pengeluar lain; 4. Adalah disyorkan untuk menggunakan autoprefixer untuk menambah awalan secara automatik; 5. Pasang postcss dan konfigurasi penyemak imbas untuk menentukan penyemak imbas sasaran; 6. Secara automatik mengendalikan keserasian semasa pembinaan; 7. Ciri -ciri pengesanan moden boleh digunakan untuk projek lama; 8. Tidak perlu meneruskan konsistensi semua pelayar,

Themaindifferencesbetweendisplay: inline, block, andinline-blockinhtml/cssarelayoutbehavior, spaceusage, andstylingcontrol.1.inlineelementsflowwithtext, notstartonNewlines, abaikanwidth/height, andonyapplylylylylylinddding/

Menetapkan gaya pautan yang telah anda lawati dapat meningkatkan pengalaman pengguna, terutama di laman web yang berintensifkan kandungan untuk membantu pengguna menavigasi lebih baik. 1. Gunakan CSS: Kelas pseudo yang dilawati untuk menentukan gaya pautan yang dikunjungi, seperti perubahan warna; 2. Perhatikan bahawa penyemak imbas hanya membenarkan pengubahsuaian beberapa atribut disebabkan oleh sekatan privasi; 3. Pemilihan warna harus diselaraskan dengan gaya keseluruhan untuk mengelakkan ketangkasan; 4. Terminal mudah alih mungkin tidak memaparkan kesan ini, dan disyorkan untuk menggabungkannya dengan arahan visual lain seperti logo tambahan ikon.

Gunakan atribut clip-path CSS untuk menanam unsur-unsur ke dalam bentuk tersuai, seperti segitiga, takik bulat, poligon, dan lain-lain, tanpa bergantung pada gambar atau SVG. Kelebihannya termasuk: 1. Menyokong pelbagai bentuk asas seperti Circle, Ellipse, Polygon, dan lain -lain; 2. Pelarasan responsif dan boleh disesuaikan dengan terminal mudah alih; 3. Mudah untuk animasi, dan boleh digabungkan dengan hover atau javascript untuk mencapai kesan dinamik; 4. Ia tidak menjejaskan aliran susun atur, dan hanya tanaman kawasan paparan. Penggunaan umum adalah seperti laluan klip bulat: bulatan (50pxatcenter) dan triangle clip-path: polygon (50%0%, 100 0%, 0 0%). Notis

Untuk membuat imej responsif menggunakan CSS, ia boleh dicapai terutamanya melalui kaedah berikut: 1. Gunakan maksimum lebar: 100% dan ketinggian: auto untuk membolehkan imej menyesuaikan diri dengan lebar kontena sambil mengekalkan perkadaran; 2. Gunakan atribut SRCSET dan saiz HTML dengan bijak memuatkan sumber imej yang disesuaikan dengan skrin yang berbeza; 3. Gunakan objek-sesuai dan kedudukan objek untuk mengawal penanaman imej dan paparan fokus. Bersama -sama, kaedah ini memastikan bahawa imej dibentangkan dengan jelas dan indah pada peranti yang berbeza.

Pilihan unit CSS bergantung kepada keperluan reka bentuk dan keperluan responsif. 1.PX digunakan untuk saiz tetap, sesuai untuk kawalan yang tepat tetapi kekurangan keanjalan; 2.EM adalah unit relatif, yang mudah disebabkan oleh pengaruh unsur induk, sementara REM lebih stabil berdasarkan unsur akar dan sesuai untuk skala global; 3.VW/VH didasarkan pada saiz viewport, sesuai untuk reka bentuk yang responsif, tetapi perhatian harus dibayar kepada prestasi di bawah skrin yang melampau; 4. Apabila memilih, ia harus ditentukan berdasarkan sama ada pelarasan responsif, hubungan hierarki elemen dan ketergantungan viewport. Penggunaan yang munasabah boleh meningkatkan fleksibiliti dan penyelenggaraan susun atur.

Penyemak imbas yang berbeza mempunyai perbezaan dalam parsing CSS, mengakibatkan kesan paparan yang tidak konsisten, terutamanya termasuk perbezaan gaya lalai, kaedah pengiraan model kotak, flexbox dan tahap sokongan susun atur grid, dan tingkah laku yang tidak konsisten bagi atribut CSS tertentu. 1. Pemprosesan gaya lalai tidak konsisten. Penyelesaiannya adalah menggunakan cssreset atau normalisasi.css untuk menyatukan gaya awal; 2. Kaedah pengiraan model kotak versi lama IE adalah berbeza. Adalah disyorkan untuk menggunakan kotak-kotak: kotak sempadan dengan cara yang bersatu; 3. Flexbox dan grid melakukan secara berbeza dalam kes kelebihan atau dalam versi lama. Lebih banyak ujian dan gunakan autoprefixer; 4. Beberapa tingkah laku atribut CSS tidak konsisten. CANIUSE mesti dirujuk dan diturunkan.
