cari
Rumahhujung hadapan webtutorial cssPemilih hubungan dan atribut dalam CSS3

Relational and Attribute Selectors in CSS3

Berikut adalah dikutip dari buku "HTML5 & CSS3 untuk dunia nyata, edisi ke-2" yang dikarang oleh Alexis Goldstein, Louis Lazaris dan Estelle Weyl. Buku ini boleh didapati di kedai-kedai di seluruh dunia, dan anda juga boleh membeli versi e-book di sini.

mata teras

    Pemilih CSS3 membolehkan kedudukan elemen yang tepat pada halaman web, memperluaskan keupayaan versi CSS sebelumnya. Pemilih relasi dan pemilih atribut adalah ciri utama CSS3.
  • Pemilih Hubungan Menempatkan unsur -unsur berdasarkan hubungan mereka dalam tag. Ini termasuk penggabungan keturunan (e f), subcombinator (e & gt; f), pemilih saudara bersebelahan atau pemilih adik beradik seterusnya (E F), dan pemilih saudara sejagat atau pemilih saudara berikutnya (E ~ F).
  • Pemilih atribut dalam CSS3 membolehkan padanan berdasarkan atribut elemen, dan CSS3 memanjangkan pemilih atribut CSS2 dengan membenarkan corak sepadan. Ini termasuk e [attr], e [attr = val], e [attr | = val], e [attr ~ = val], e [attr^= val], e [attr $ = val], dan e [attr * = val].
  • Semua pelayar moden menyokong pemilih CSS3, termasuk IE9 dan kemudian. Menggunakan pemilih ini dapat meningkatkan kecekapan dan keberkesanan reka bentuk dan pembangunan web.

pemilih CSS3

pemilih CSS adalah teras CSS. Sekiranya tidak ada pemilih untuk mencari unsur -unsur di halaman, satu -satunya cara untuk mengubah suai atribut CSS elemen adalah dengan menggunakan atribut gaya elemen dan mengisytiharkan gaya sebaris, yang kedua -duanya canggung dan sukar untuk dikekalkan. Jadi kami menggunakan pemilih. Pada mulanya, CSS membolehkan elemen yang sepadan mengikut jenis, kelas, dan/atau ID. Ini memerlukan menambah atribut kelas dan ID ke tag kami untuk membuat cangkuk dan membezakan unsur -unsur jenis yang sama. CSS2.1 menambah elemen pseudo, kelas pseudo, dan gabungan. Dengan CSS3, kita boleh menggunakan pelbagai pemilih untuk mencari hampir mana -mana elemen pada halaman.

Dalam keterangan di bawah, kami akan memasukkan pemilih yang diberikan kepada kami dalam versi CSS yang terdahulu. Mereka disertakan kerana walaupun kita boleh menggunakan pemilih CSS3, pemilih lebih awal daripada CSS3 juga merupakan sebahagian daripada spesifikasi CSS Selector Level 3 dan masih disokong kerana CSS Selector Level 3 memanjangkannya. Malah untuk pemilih yang telah lama wujud, ia patut dikaji semula di sini, kerana terdapat beberapa permata tersembunyi yang kurang dikenali dalam spesifikasi lama. Sila ambil perhatian bahawa semua pelayar moden, termasuk IE9 dan kemudian, menyokong semua pemilih CSS3.

Pemilih Hubungan

Pemilih Hubungan Menempatkan unsur -unsur berdasarkan hubungan mereka dalam tag. Semua ini disokong bermula dengan IE7 dan dalam semua pelayar utama lain:

Descendant Combinator (e f)

anda pasti sudah biasa dengan ini. Pemilih Keturunan mengesan mana-mana elemen F yang keturunan elemen E (elemen kanak-kanak, elemen cucu, elemen cucu, dll.). Sebagai contoh, Ol Li menempatkan elemen li yang terletak dalam senarai yang diperintahkan. Ini termasuk elemen LI bersarang di UL di OL, yang mungkin bukan apa yang anda mahukan.

subcombinator (e & gt; f)

pemilih ini sepadan dengan mana -mana elemen f sebagai elemen kanak -kanak langsung elemen e - sebarang elemen bersarang selanjutnya akan diabaikan. Meneruskan dengan contoh di atas, OL & GT;

pemilih saudara jiran atau pemilih abang seterusnya (e f)

Ini akan sepadan dengan mana -mana elemen F yang berkongsi elemen induk yang sama seperti E dan terus di belakang dalam tag. Sebagai contoh, li li akan mencari semua elemen li dalam bekas yang diberikan, kecuali elemen li pertama.

pemilih saudara sejagat atau pemilih saudara berikutnya (e ~ f)

Ini agak rumit. Ia akan sepadan dengan mana -mana elemen F yang berkongsi elemen induk yang sama seperti E dan berada di belakangnya dalam tag. Oleh itu, H1 ~ H2 akan sepadan dengan mana -mana H2 yang terletak selepas H1, selagi mereka semua berkongsi elemen induk langsung yang sama -iaitu, selagi H2 tidak bersarang dalam unsur lain.

mari kita lihat contoh mudah:

<header>
  <h1 id="Main-title">Main title</h1>
  <h2 id="This-subtitle-is-matched">This subtitle is matched</h2>
</header>
<article>
  <p>blah, blah, blah …</p>
  <h2 id="This-is-not-matched-by-h-h-but-is-by-header-h">This is not matched by h1 ~ h2, but is by header ~ h2</h2>
  <p>blah, blah, blah …</p>
</article>
Strings Selector H1 ~ H2 akan sepadan dengan H2 pertama, kerana H1 dan H2 adalah kedua -dua anak pengepala atau keturunan langsung. H2 seterusnya yang akan anda lihat dalam coretan kod tidak sepadan kerana elemen induknya adalah artikel, bukan tajuk. Walau bagaimanapun, ia akan sepadan dengan header ~ H2. Begitu juga, H2 ~ p hanya sepadan dengan perenggan terakhir, kerana perenggan pertama adalah sebelum H2 ia berkongsi dengan artikel Elemen Ibu Bapa.

NOTA: Kenapa tidak ada pemilih "ibu bapa"?

Anda akan melihat bahawa setakat ini tidak ada pemilih "bapa" atau "nenek moyang", atau pemilih "pra-saudara". Prestasi penyemak imbas yang perlu melintasi pokok Dom ke belakang atau rekursif ke unsur bersarang sebelum memutuskan sama ada untuk menggunakan gaya, menghalang keupayaan untuk memiliki "Traverse the Dom Tree ke atas" pemilih.

jQuery mengandungi: mempunyai () sebagai pemilih nenek moyang. Pemilih ini sedang dipertimbangkan untuk CSS Selector Level 4, tetapi belum dilaksanakan dalam mana -mana pelayar. Jika dan bila ia dilaksanakan, kami akan dapat menggunakan E: mempunyai (f) untuk mencari e dengan f sebagai keturunan, e: mempunyai (& gt; f) untuk mencari e dengan f sebagai elemen kanak -kanak langsung, e: mempunyai (f ) untuk mencari e secara langsung sebelum Brother F, dan serupa.

Semak imbas helaian gaya HTML5 Herald dan anda akan melihat bahawa kami menggunakan pemilih ini di banyak tempat. Sebagai contoh, apabila menentukan susun atur keseluruhan laman web ini, kami mahu divs tiga lajur untuk terapung ke kiri. Untuk mengelakkan menggunakan gaya ini ke mana-mana div lain yang bersarang di dalamnya, kami menggunakan sub-selektor:

main > div {
  float: left;
  overflow: hidden;
}
Semasa kami menambah gaya baru ke laman web ini dalam beberapa bab berikutnya, anda akan melihat banyak jenis pemilih ini.

Pemilih atribut

CSS2 memperkenalkan beberapa pemilih harta. Ini membolehkan padanan berdasarkan atribut elemen. CSS3 memanjangkan pemilih harta ini untuk membolehkan beberapa kedudukan berdasarkan padanan corak. CSS Selector Level 4 telah menambah lebih banyak lagi:

e [attr] sepadan dengan mana -mana elemen E dengan atribut attr tanpa mengira nilai atribut. Kami menggunakannya dalam Bab 4 untuk gaya input yang diperlukan;

e [attr = val] sepadan dengan mana -mana elemen E dengan atribut attr dan nilainya adalah val. Walaupun tidak baru, ia berguna apabila mencari jenis input borang;

e [attr | = val] sepadan dengan mana-mana elemen yang atributnya attr mempunyai nilai val atau bermula dengan val-. Ini paling biasa digunakan dalam atribut Lang. Sebagai contoh, p [lang | = "en"] akan memadankan mana -mana perenggan yang ditakrifkan dalam bahasa Inggeris, sama ada dalam bahasa Inggeris Inggeris atau Amerika, menggunakan

atau

.

e [attr ~ = val] sepadan dengan mana -mana elemen yang atribut Attr mengandungi perkataan penuh val (disertakan dengan ruang). Sebagai contoh, .Info [Title ~ = More] akan memadankan mana -mana elemen dengan maklumat kelas dan atribut tajuk mengandungi perkataan "lebih", seperti "klik di sini untuk mengetahui lebih lanjut".

e [attr^= val] sepadan dengan mana -mana elemen yang atributnya attr bermula dengan nilai val. Dalam erti kata lain, Val sepadan dengan permulaan nilai harta.

e [attr $ = val] sepadan dengan mana -mana elemen yang atributnya attr berakhir dengan . Dalam erti kata lain, Val sepadan dengan akhir nilai harta.

e [attr = val] sepadan dengan mana -mana elemen yang atribut ATTR sepadan dengan val pada mana -mana kedudukan. Ia sama dengan E [attr ~ = val], kecuali bahawa val boleh menjadi sebahagian daripada perkataan. Menggunakan contoh yang sama seperti sebelumnya, .fakelink [Title = info] {} akan sepadan dengan elemen dengan kelas Fakelink dan atribut tajuk mengandungi maklumat rentetan, seperti "Klik di sini untuk mengetahui lebih lanjut".

Dalam pemilih hartanah ini, nilai VAL adalah sensitif kes untuk nilai sensitif kes dalam HTML. Sebagai contoh, input [class^= "btn"] adalah sensitif kes kerana nama kelas adalah sensitif kes, tetapi input [type = "ceckbox"] adalah sensitif kes kerana nilai jenis tidak sensitif dalam html.

Jika nilai adalah alfanumerik, nilai tidak diperlukan, tetapi terdapat beberapa pengecualian. Rentetan kosong, rentetan bermula dengan nombor, dua tanda hubung dan kes -kes khas lain perlu disertakan dalam petikan. Oleh kerana terdapat pengecualian, adalah idea yang baik untuk membangunkan tabiat selalu termasuk petikan untuk situasi di mana petikan diperlukan.

Dalam tahap pemilih CSS 4, kita dapat mencapai kes-kesaksian kes dengan memasukkan saya sebelum pendakap akhir, e [attr*= val i].

FAQs mengenai pemilih relasi dan pemilih atribut dalam CSS3

Apakah perbezaan antara pemilih hubungan dan pemilih harta dalam CSS3?

Pemilih Hubungan dalam CSS3 digunakan untuk memilih elemen berdasarkan hubungan mereka dengan unsur -unsur lain dalam dokumen HTML. Sebagai contoh, elemen kanak -kanak, keturunan, saudara jiran, dan pemilih saudara sejagat adalah semua jenis pemilih relasi. Sebaliknya, pemilih atribut digunakan untuk memilih elemen berdasarkan atribut atau nilai atributnya. Sebagai contoh, anda boleh menggunakan pemilih harta untuk memilih semua elemen input dengan atribut jenis "teks".

Bagaimana menggunakan subcombinator dalam CSS3?

Subcombinator dalam CSS3 diwakili oleh simbol "& gt;" Ia digunakan untuk memilih elemen kanak -kanak langsung dari elemen tertentu. Sebagai contoh, jika anda ingin memilih semua elemen div kanak -kanak langsung elemen induk dengan kelas "ibu bapa", anda harus menulis CSS berikut:

.parent > div { /* CSS 属性在此处 */ }

Bolehkah saya menggunakan pemilih pelbagai harta dalam CSS3?

Ya, anda boleh menggunakan pemilih harta pelbagai dalam CSS3. Ini membolehkan anda memilih elemen yang memenuhi pelbagai syarat atribut. Sebagai contoh, jika anda ingin memilih semua elemen input dengan atribut jenis "teks" dan nama atribut "Nama Pengguna", anda harus menulis CSS berikut:

input[type="text"][name="username"] { /* CSS 属性在此处 */ }

Apakah tujuan Combinator Brother yang bersebelahan di CSS3?

Combiner Brother bersebelahan di CSS3 diwakili oleh simbol "". Ia digunakan untuk memilih unsur -unsur yang berada di belakang elemen tertentu, dan kedua -dua elemen berkongsi elemen induk yang sama. Sebagai contoh, jika anda ingin memilih elemen Div yang berada di belakang elemen P, anda harus menulis CSS berikut:

p div { /* CSS 属性在此处 */ } Bagaimana untuk memilih elemen dengan nilai atribut tertentu dalam CSS3?

Untuk memilih elemen dengan nilai atribut tertentu dalam CSS3, gunakan pemilih atribut, nama atribut, dan nilai dengan kurungan persegi. Sebagai contoh, jika anda ingin memilih semua elemen input dengan atribut jenis "teks", anda harus menulis CSS berikut:

Bolehkah saya menggabungkan pemilih hubungan dan pemilih atribut dalam CSS3? input[type="text"] { /* CSS 属性在此处 */ }

Ya, anda boleh menggabungkan pemilih hubungan dan pemilih atribut dalam CSS3. Ini membolehkan anda memilih elemen berdasarkan hubungan mereka dengan unsur -unsur lain dan sifat mereka. Sebagai contoh, jika anda ingin memilih semua elemen input kanak -kanak langsung elemen borang dengan "borang" kelas, di mana atribut jenis elemen input adalah "teks", anda harus menulis CSS berikut:

Apakah Universal Brother Combinator di CSS3?

form.form > input[type="text"] { /* CSS 属性在此处 */ }

Combiner saudara sejagat dalam CSS3 diwakili oleh simbol "~". Ia digunakan untuk memilih unsur -unsur saudara elemen tertentu, tanpa mengira pesanan mereka dalam dokumen HTML. Sebagai contoh, jika anda ingin memilih semua elemen div saudara elemen P, anda harus menulis CSS berikut:

Bagaimana untuk memilih elemen dalam CSS3 yang tidak mempunyai atribut tertentu?

p ~ div { /* CSS 属性在此处 */ } Untuk memilih unsur-unsur yang tidak mempunyai atribut khusus dalam CSS3, gunakan: tidak () kelas pseudo dengan pemilih atribut. Sebagai contoh, jika anda ingin memilih semua elemen input yang atribut jenisnya tidak "hantar", anda harus menulis CSS berikut:

Bolehkah saya menggunakan pemilih hubungan dalam css3 dengan kelas pseudo?

Ya, anda boleh menggunakan pemilih hubungan dalam CSS3 dengan kelas pseudo. Ini membolehkan anda memilih elemen berdasarkan hubungan mereka dengan unsur -unsur lain dan keadaan mereka. Sebagai contoh, jika anda ingin memilih semua kanak -kanak langsung elemen elemen navigasi yang sedang berlegar, anda harus menulis CSS berikut:

nav > a:hover { /* CSS 属性在此处 */ }

Bagaimana untuk memilih elemen dalam CSS3 yang mengandungi atribut khusus dengan nilai tertentu?

Untuk memilih elemen yang mengandungi atribut khusus dengan nilai tertentu dalam CSS3, gunakan pemilih harta tanah yang ditunggang persegi, nama dan nilai atribut, dan pengendali *=. Sebagai contoh, jika anda ingin memilih semua elemen dengan atribut HREF yang mengandungi "contoh", anda harus menulis CSS berikut:

Atas ialah kandungan terperinci Pemilih hubungan dan atribut dalam CSS3. 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
Ini tidak sepatutnya berlaku: menyelesaikan masalah yang mustahilIni tidak sepatutnya berlaku: menyelesaikan masalah yang mustahilMay 15, 2025 am 10:32 AM

Apa yang kelihatan seperti menyelesaikan masalah salah satu daripada isu -isu yang mustahil yang ternyata menjadi sesuatu yang tidak pernah anda fikirkan.

@KeyFrames vs CSS Transitions: Apakah perbezaannya?@KeyFrames vs CSS Transitions: Apakah perbezaannya?May 14, 2025 am 12:01 AM

@keyframesandcsstransitionsdifferincomplexity:@keyframesallowsfordetailedanimationseSseSeSs, whileCstransitionShandlesImplestateShanges.usecsstransitionsforhovereffectsLikeButtonColorchanges, dan@keyframesforintricateanimation.

Menggunakan halaman CMS untuk pengurusan kandungan tapak statikMenggunakan halaman CMS untuk pengurusan kandungan tapak statikMay 13, 2025 am 09:24 AM

Saya tahu, saya tahu: terdapat satu tan pilihan sistem pengurusan kandungan yang tersedia, dan sementara saya telah menguji beberapa, tidak ada yang benar -benar menjadi satu, y ' tahu? Model harga pelik, penyesuaian yang sukar, sesetengahnya akhirnya menjadi keseluruhan &

Panduan Terbaik untuk Menghubungkan Fail CSS di HTMLPanduan Terbaik untuk Menghubungkan Fail CSS di HTMLMay 13, 2025 am 12:02 AM

Menghubungkan fail CSS ke HTML boleh dicapai dengan menggunakan unsur -unsur dalam sebahagian HTML. 1) Gunakan tag untuk menghubungkan fail CSS tempatan. 2) Pelbagai fail CSS boleh dilaksanakan dengan menambahkan beberapa tag. 3) Fail CSS luaran menggunakan pautan URL mutlak, seperti. 4) Pastikan penggunaan laluan fail yang betul dan pesanan pemuatan fail CSS, dan mengoptimumkan prestasi boleh menggunakan preprocessor CSS untuk menggabungkan fail.

CSS Flexbox vs Grid: Kajian KomprehensifCSS Flexbox vs Grid: Kajian KomprehensifMay 12, 2025 am 12:01 AM

Memilih Flexbox atau Grid bergantung kepada keperluan susun atur: 1) Flexbox sesuai untuk susun atur satu dimensi, seperti bar navigasi; 2) Grid sesuai untuk susun atur dua dimensi, seperti susun atur majalah. Kedua -duanya boleh digunakan dalam projek untuk meningkatkan kesan susun atur.

Cara memasukkan fail CSS: Kaedah dan amalan terbaikCara memasukkan fail CSS: Kaedah dan amalan terbaikMay 11, 2025 am 12:02 AM

Cara terbaik untuk memasukkan fail CSS adalah menggunakan tag untuk memperkenalkan fail CSS luaran di bahagian HTML. 1. Gunakan tag untuk memperkenalkan fail CSS luaran, seperti. 2. Untuk pelarasan kecil, css sebaris boleh digunakan, tetapi harus digunakan dengan berhati -hati. 3. Projek besar boleh menggunakan preprocessors CSS seperti SASS atau kurang untuk mengimport fail CSS lain melalui @import. 4. Untuk prestasi, fail CSS harus digabungkan dan CDN harus digunakan, dan dimampatkan menggunakan alat seperti CSSNANO.

Flexbox vs Grid: Sekiranya saya belajar kedua -duanya?Flexbox vs Grid: Sekiranya saya belajar kedua -duanya?May 10, 2025 am 12:01 AM

Ya, youdyhouldlearnbothflexboxandgrid.1) flexboxisidealforone-dimensi, flexiblelayoutslikenavigasiMenus.2)

Mekanik Orbital (atau bagaimana saya mengoptimumkan animasi kerangka utama CSS)Mekanik Orbital (atau bagaimana saya mengoptimumkan animasi kerangka utama CSS)May 09, 2025 am 09:57 AM

Apa yang kelihatan seperti refactor kod anda sendiri? John Rhea memisahkan animasi CSS lama yang dia tulis dan berjalan melalui proses pemikiran mengoptimumkannya.

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

Video Face Swap

Video Face Swap

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

Artikel Panas

Nordhold: Sistem Fusion, dijelaskan
4 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers of the Witch Tree - Cara Membuka Kunci Cangkuk Bergelut
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.

SublimeText3 versi Inggeris

SublimeText3 versi Inggeris

Disyorkan: Versi Win, menyokong gesaan kod!

SecLists

SecLists

SecLists ialah rakan penguji keselamatan muktamad. Ia ialah koleksi pelbagai jenis senarai yang kerap digunakan semasa penilaian keselamatan, semuanya di satu tempat. SecLists membantu menjadikan ujian keselamatan lebih cekap dan produktif dengan menyediakan semua senarai yang mungkin diperlukan oleh penguji keselamatan dengan mudah. Jenis senarai termasuk nama pengguna, kata laluan, URL, muatan kabur, corak data sensitif, cangkerang web dan banyak lagi. Penguji hanya boleh menarik repositori ini ke mesin ujian baharu dan dia akan mempunyai akses kepada setiap jenis senarai yang dia perlukan.

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Pelayar Peperiksaan Selamat

Pelayar Peperiksaan Selamat

Pelayar Peperiksaan Selamat ialah persekitaran pelayar selamat untuk mengambil peperiksaan dalam talian dengan selamat. Perisian ini menukar mana-mana komputer menjadi stesen kerja yang selamat. Ia mengawal akses kepada mana-mana utiliti dan menghalang pelajar daripada menggunakan sumber yang tidak dibenarkan.