(disesuaikan daripada "HTML5 & CSS3 untuk Dunia Nyata" oleh Alexis Goldstein, Louis Lazaris dan Estelle Weyl)
mata teras
CSS Pseudo-Class digunakan untuk menentukan keadaan khas elemen, termasuk struktur, operasi pengguna, input dan kelas pseudo negatif. Mereka boleh gaya elemen berdasarkan lokasi elemen dalam pokok dokumen, interaksi pengguna, bentuk elemen bentuk, atau unsur -unsur yang tidak sepadan dengan pemilih tertentu.Beberapa kelas pseudo mungkin mempunyai masalah keselamatan, seperti
kelas pseudo, yang boleh digunakan oleh penyerang untuk memeriksa sejarah pelayaran pengguna. Pelayar moden mengehadkan gaya yang boleh digunakan untuk :visited
untuk mengelakkan masalah ini. Untuk meningkatkan kebolehcapaian, disyorkan untuk menambah :visited
di mana :hover
dimasukkan, kerana tidak semua pelawat menggunakan tetikus untuk melayari laman web. :focus
dan :nth-child()
. Perpustakaan JavaScript seperti Selectivizr boleh digunakan untuk mencari kelas pseudo ini dalam pelayar yang tidak mempunyai sokongan seperti Internet Explorer. :nth-last-child()
CSS Pseudo-Class
Anda mungkin sudah biasa dengan beberapa kelas pseudo interaksi pengguna, iaitu, :link
, :visited
, :hover
, :active
dan :focus
.
Petua Penting: Titik Utama
:visited
kelas pseudo mungkin mempunyai masalah keselamatan, jadi penyemak imbas tidak menyokong penggunaan semua sifat CSS pada pautan yang dikunjungi. Tanpa sekatan ini, laman web yang berniat jahat boleh menyemak sama ada pengguna telah melawat laman web atau bank yang popular untuk gaya pautan yang dikunjungi (contohnya, imej latar belakang yang unik untuk setiap aplikasi pautan yang dikunjungi). Ini membolehkan penyerang melihat sejarah pelayaran pengguna tanpa kebenaran. Oleh itu, pelayar moden mengehadkan gaya yang boleh digunakan untuk :visited
. Spesifikasi secara eksplisit membolehkan perubahan ini, menyatakan bahawa ejen pengguna (UAS) dapat merawat semua pautan sebagai pautan yang tidak dicapai, atau melaksanakan langkah -langkah lain untuk melindungi privasi pengguna sambil membentangkan cara yang berbeza dari pautan yang diakses dan tidak dicapai. Untuk meningkatkan kebolehcapaian, tambah :hover
di mana :focus
dimasukkan, kerana tidak semua pelawat menggunakan tetikus untuk melayari laman web anda. :hover
boleh digunakan untuk mana -mana elemen pada halaman, bukan hanya pautan dan kawalan bentuk. :focus
dan :active
berkaitan dengan pautan, kawalan bentuk, elemen kandungan yang boleh diedit, dan mana -mana elemen dengan atribut tabindex
.
Walaupun anda mungkin telah menggunakan kelas pseudo asas ini untuk seketika, terdapat banyak kelas pseudo lain yang tersedia. Sebahagian daripada kelas pseudo ini telah berada di sekitar spesifikasi selama bertahun-tahun, tetapi tidak disokong (atau umumnya difahami) sehingga pelayar mula menyokong sifat bentuk HTML5 baru yang menjadikannya lebih relevan. Unsur-unsur yang sesuai dengan kelas pseudo berikut berdasarkan atribut, interaksi pengguna, dan status kawalan bentuk:
-
:enabled
: Elemen antara muka pengguna yang diaktifkan, pada dasarnya sebarang kawalan bentuk yang menyokong atributdisabled
tetapi tidak menggunakan atribut itu pada masa ini. -
:disabled
: Sebaliknya, elemen antara muka pengguna yang dilumpuhkan: sebarang kawalan borang yang menyokong atributdisabled
dan kini mempunyai atribut yang digunakan. -
:checked
: butang radio atau kotak semak yang telah dipilih atau diperiksa. -
:indeterminate
: Unsur bentuk yang tidak dipilih atau tidak dipilih. Contohnya, jika anda menyemak kotak semak Pilih Semua untuk memilih satu set kotak semak dan kemudian tidak memilih beberapa tetapi tidak semua kotak semak dalam kumpulan, anda boleh menetapkan Pilih semua ke keadaan yang tidak pasti (menggunakan JavaScript) untuk menunjukkan bahawa ia bukan dipilih atau tidak terkawal. -
:target
: Pemilih ini memilih elemen sasaran titik utama di halaman yang aktif sekarang. Ini kedengaran lebih rumit daripada yang sebenarnya: anda sudah tahu bahawa anda boleh membuat pautan ke sauh dalam halaman dengan menggunakan aksara#
sebelum ID sasaran. Sebagai contoh, anda mungkin mempunyai pautan "Skip to Content" di halaman anda, dan selepas mengklik pautan itu, ia akan melompat ke elemen dengan id "kandungan". Ini mengubah URL dalam bar alamat kethispage.html#content
, dan pemilih:target
kini sepadan dengan elemen dalam dokumen dengan "Kandungan" ID. Ia seperti anda buat sementara waktu memasukkan pemilih#content
. Kami mengatakan "sementara" kerana sekali pengguna mengklik pada titik utama yang berbeza,:target
akan memadankan sasaran baru. -
:default
: Digunakan untuk satu atau lebih elemen UI yang merupakan nilai lalai dalam satu set elemen yang sama. Sebagai contoh, jika butang radio dalam satu set butang radio dengan nama yang sama dipilih apabila halaman dimuatkan, ia akan terus memadankan:default
selepas butang radio lain dalam kumpulan dengan nama yang sama dipilih. Begitu juga, kotak semak yang dipilih apabila beban halaman akan terus dipadankan:default
selepas tidak terkawal. -
:valid
: unsur -unsur yang sah berdasarkan jenis, corak, atau sifat input lain (seperti yang kita dibincangkan dalam Bab 4). -
:invalid
: Unsur dan elemen yang diperlukan kosong yang tidak dapat memenuhi keperluan jenis atribut jenis atau corak. -
:in-range
: unsur -unsur dengan had pelbagai dan nilai dalam had ini. Sebagai contoh, ini terpakai sehingga tarikh/masa, nombor, dan jenis input pelbagai denganmin dan max
. Apabila nilai adalah batal, ia adalah:in-range
. -
:out-of-range
: Antonym of:in-range
: elemen yang nilainya melebihi had julatnya. Nilai yang hilang tidak berada dalam julat kerana mereka kosong. -
:required
: Kawalan borang dengan set atribut:required
. -
:optional
: Semua kawalan borang tanpa atribut:required
. -
:read-only
: Unsur pengguna tidak dapat mengubah kandungannya. Kebanyakannya adalah unsur -unsur kecuali unsur -unsur dengan atributcontenteditable
set dan medan borang. -
:read-write
: Pengguna boleh menukar unsur kandungan mereka, seperticontenteditable
komponen dan medan input yang boleh ditulis.
Dalam pelayar yang menyokong sifat dalam kawalan bentuk mereka, sokongan penyemak imbas untuk sifat-sifat ini lengkap; IE8 dan versi terdahulu tidak menyokong required
, pattern
, :valid
, dan :invalid
. Berita baiknya ialah IE9 menyokong pemilih ini, tetapi bukan pemilih antara muka pengguna. IE10 dan IE11 Sokongan :checked
, :enabled
, tetapi tidak menyokong :disabled
, :target
, :indeterminate
, :required
, :optional
, :default
atau :in-range
. Walaupun sokongan masih kurang, perpustakaan JavaScript seperti Selectivizr dapat membantu mencari kelas pseudo ini di Internet Explorer. :out-of-range
:read-only
:read-write
Soalan Lazim untuk CSS Pseudo-Classes (FAQs)
(bahagian Soalan Lazim ditinggalkan di sini kerana panjangnya terlalu panjang dan tidak sepadan dengan matlamat asal pseudo. Beberapa Soalan Lazim boleh dikekalkan atau ditulis semula secara selektif seperti yang diperlukan dan tetap konsisten dengan makna asal.) >
Atas ialah kandungan terperinci Kelas pseudo - asas -asas. 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,

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

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.

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.
