Rumah >hujung hadapan web >tutorial css >Mengapakah `text-decoration` CSS Saya Tidak Berfungsi Seperti Yang Dijangkakan pada Elemen Bersarang?

Mengapakah `text-decoration` CSS Saya Tidak Berfungsi Seperti Yang Dijangkakan pada Elemen Bersarang?

Susan Sarandon
Susan Sarandonasal
2024-12-14 13:03:16160semak imbas

Why Doesn't My CSS `text-decoration` Work as Expected on Nested Elements?

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!

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