Menangani Keanehan Hiasan Teks CSS
Dalam CSS, sifat hiasan teks memainkan peranan penting dalam menggayakan elemen teks. Walau bagaimanapun, menggunakan hiasan teks mungkin tidak sentiasa berkelakuan seperti yang diharapkan. Artikel ini menyelidiki kerumitan hiasan teks CSS dan menyediakan penyelesaian kepada isu biasa.
Masalahnya
Seorang pembangun menghadapi situasi yang membingungkan di mana peraturan CSS sebaris untuk hiasan teks nampaknya tidak mempunyai kesan pada elemen bersarang. Mereka telah menulis kod berikut:
ul > li { text-decoration: none; } ul > li.u { text-decoration: underline; } ul > li > ul > li { text-decoration: none; } ul > li > ul > li.u { text-decoration: underline; }
CSS ini dijangka hanya menggariskan elemen li dengan kelas "u" dan meninggalkan semua elemen li lain tanpa hiasan. Walau bagaimanapun, dalam amalan, semua elemen li sedang digariskan.
Penyelesaian
Isunya terletak pada gelagat unik hiasan teks. Tidak seperti sifat penggayaan teks lain seperti berat fon, hiasan teks bukan sahaja mempengaruhi elemen yang digunakan tetapi juga elemen turunannya.
Seperti spesifikasi CSS 2.1, hiasan teks dilukis merentas keseluruhan elemen, tanpa mengira daripada mana-mana unsur keturunan. Ini bermakna menetapkan hiasan teks pada elemen induk akan menyebarkan hiasan itu kepada anak-anaknya, walaupun mereka mempunyai peraturan hiasan teks sendiri.
Dalam contoh yang disediakan, hiasan teks: tiada; peraturan pada pemilih kedua dan ketiga tidak berkesan kerana hiasan telah disebarkan daripada pemilih pertama.
Kesimpulan
Memahami ciri ini dalam hiasan teks CSS adalah penting untuk mengelakkan hasil yang tidak dijangka. Dengan menggunakan hiasan teks hanya pada elemen paling luar dan bergantung pada warisan untuk elemen bersarang, pembangun boleh memastikan peraturan hiasan teks CSS mereka berkelakuan seperti yang dimaksudkan.
Atas ialah kandungan terperinci Mengapakah `text-decoration` CSS Saya Tidak Berfungsi Seperti Yang Dijangkakan pada Elemen Bersarang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!