


Pseudo-Comments dalam CSS (atau, Bagaimana Pelayar Menguraikan Gaya)
mata utama
- CSS secara rasmi hanya menyokong komen multi-garis gaya C, tetapi komen pseudo menggunakan kesilapan parsing untuk secara tidak sengaja mengulas kod tersebut.
- Komen pseudo boleh dibuat dengan memalukan perisytiharan CSS, seperti menghilangkan titik koma atau menggunakan nama atribut yang tidak diiktiraf, mengakibatkan kod berikutnya diabaikan.
- Penempatan baris dan penempatan baris seterusnya pseudo akan menjejaskan sama ada peraturan CSS berikutnya digunakan, dan komen pseudo sebaris boleh membatalkan pengisytiharan berikutnya pada baris yang sama.
- Pseudo-annotasi juga boleh digunakan untuk @ peraturan, dan tingkah laku yang diperhatikan akan berbeza-beza bergantung kepada sama ada peraturan @ mengandungi blok badan atau berakhir dengan titik koma.
- Walaupun komen pseudo boleh digunakan untuk debugging, mereka tidak boleh dibaca dengan baik dan tidak boleh menggantikan komen CSS standard dalam kod pengeluaran.
CSS Comments
Menurut spesifikasi, parser CSS secara rasmi menyokong gaya anotasi, iaitu, komen berbilang baris dari bahasa gaya C, yang menggunakan tanda permulaan dan tanda akhir /*
seperti yang ditunjukkan di bawah: */
<code>/* 起始和结束标记之间(包括起始和结束标记)的字符将被解析器忽略, */</code>
Pengisytiharan blok dalam komen akan diabaikan:
<code>body { background: red; /* background: white; */ }</code>
Dalam contoh -contoh ini, kita semua
<code>/* body { background: red; } */</code>
Gunakan sintaks komen untuk mengarahkan parser untuk mengabaikan kandungan.
Dalam contoh ini, pengisytiharan latar belakang tidak digunakan kerana kekurangan titik koma. Parser mengimbas titik koma seterusnya untuk menentukan bahawa keseluruhan pernyataan dua baris tidak betul, jadi kandungan keseluruhan analisis leksikal diabaikan. Perkara yang sama akan berlaku jika kita menghilangkan nilai atribut sama sekali:
<code>body { background: red /* 缺少分号 */ background: blue; }</code>
dan ini menunjukkan bahawa kita boleh menggunakan pernyataan yang salah sebagai ...
<code>body { background: background: blue; /* 此声明未应用 */ }</code>
Pseudo Comment
kami memanggil "komen pseudo" ini kerana ketat, ini bukan komen yang ditamatkan pada akhir watak garis. Sebaliknya, mereka bekerja dengan memalukan input berikutnya (walaupun pada baris berikutnya). Ini disebabkan oleh proses pengendalian ralat set peraturan, blok pengisytiharan dan pemilih:"Jika terdapat ralat di mana -mana pemilih, keseluruhan pernyataan harus diabaikan, walaupun selebihnya pemilih kelihatan munasabah dalam CSS 2.1."
Dalam contoh berikut (petikan dari spesifikasi), set peraturan kedua diabaikan kerana watak yang tidak sah "&" dalam pemilih:
Begitu juga, dalam contoh berikut, pengisytiharan kedua dan ketiga diabaikan kerana kehadiran aksara yang berlebihan di latar belakang nama harta:
pandangan pantas di papan kekunci Bahasa Inggeris akan mendedahkan bahawa watak-watak khas berikut akan bertindak sebagai komen perisytiharan satu baris:
<code>/* 起始和结束标记之间(包括起始和结束标记)的字符将被解析器忽略, */</code>
Walau bagaimanapun, jangan gunakan mana -mana aksara, tetapi berpegang pada konvensyen C dan UNIX dan gunakan # atau //:
<code>body { background: red; /* background: white; */ }</code>
Semi-kolon
Tanda titik koma adalah tanda akhir pengisytiharan peraturan. Oleh itu, mereka tidak boleh "mengulas" teks yang berikut. Dalam spesifikasi, parser merawat titik koma yang menggantung sebagai perisytiharan yang salah (pengisytiharan nama, kolon, atau nilai hilang).
Seperti yang dinyatakan sebelum ini, apabila format komen multiline biasa adalah salah, iaitu apabila tag permulaan dan akhir tidak seimbang di sekitar set peraturan atau perisytiharan, parser mengabaikan pengisytiharan atau peraturan berikutnya. Yang berikut sebenarnya "mengulas" pengisytiharan latar belakangdua , kerana parser akan mencari tag akhir pengisytiharan seterusnya (separuh kolon) perisytiharan yang terjejas:
<code>/* body { background: red; } */</code>
<code>body { background: red /* 缺少分号 */ background: blue; }</code>
<code>body { background: background: blue; /* 此声明未应用 */ }</code>
<code>h1, h2 {color: green } h3, h4 & h5 {color: red } /* h6 {color: black }</code>
sebaris dengan baris seterusnya
Ini adalah di mana "pseudo" memasuki perkataan "pseudo comment". Ini mungkin merupakan alasan yang baik untuk tidak menyebutnya "komen" sama sekali, kerana mereka melanggar konvensyen akhir-of-line C atau UNIX Style Line Comments.komen pseudo yang diletakkan pada satu baris akan menindas pengisytiharan pada baris seterusnya. Dalam contoh berikut, latar belakang akan menjadi biru:
<code>body { background: red; xbackground: white; /* 属性名称未被识别 */ y background: blue; /* 属性名称格式不正确 */ }</code>
ditindas oleh . Dalam contoh berikut, latar belakang akan menjadi putih dan bukannya biru:
<code>selector { ~ property-name: ignored; ` property-name: ignored; ! property-name: ignored; @ property-name: ignored; # property-name: ignored; $ property-name: ignored; % property-name: ignored; ^ property-name: ignored; & property-name: ignored; * property-name: ignored; _ property-name: ignored; - property-name: ignored; + property-name: ignored; = property-name: ignored; | property-name: ignored; \ property-name: ignored; : property-name: ignored; property-name: ignored; . property-name: ignored; > property-name: ignored; , property-name: ignored; ? property-name: ignored; / property-name: ignored; }</code>
<code>// background: ignored; # background: ignored;</code>
(sama seperti kandungan susulan. Oleh kerana batasan ruang, ciptaan pseudo-asal yang tersisa di bahagian yang tinggal di sini.)
Atas ialah kandungan terperinci Pseudo-Comments dalam CSS (atau, Bagaimana Pelayar Menguraikan Gaya). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

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

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

Undress AI Tool
Gambar buka pakaian secara percuma

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)

Topik panas











Mari kita cuba menyusun istilah di sini: "Penyedia Borang Statik." Anda membawa html anda

Pada permulaan projek baru, kompilasi SASS berlaku dalam sekejap mata. Ini terasa hebat, terutamanya apabila ia dipasangkan dengan BrowserSync, yang dimuat semula

Pada minggu ini, berita platform, Chrome memperkenalkan atribut baru untuk memuatkan, spesifikasi aksesibiliti untuk pemaju web, dan gerakan BBC

Ini saya melihat elemen HTML untuk kali pertama. Saya telah menyedarinya untuk seketika, tetapi Haven ' t mengambilnya untuk putaran lagi. Ia mempunyai cukup keren dan

Untuk sementara waktu, iTunes adalah anjing besar dalam podcasting, jadi jika anda mengaitkan "Langgan Podcast" untuk suka:

Ketua dokumen mungkin bukan bahagian paling glamor dari laman web, tetapi apa yang masuk ke dalamnya boleh dikatakan sama pentingnya dengan kejayaan laman web anda sebagai

Terdapat banyak platform analisis untuk membantu anda mengesan data pelawat dan penggunaan di laman web anda. Mungkin paling penting Google Analytics, yang digunakan secara meluas

Beli atau Membina adalah perdebatan klasik dalam teknologi. Membina barang sendiri mungkin berasa lebih murah kerana tidak ada item baris pada bil kad kredit anda, tetapi
