Rumah > hujung hadapan web > tutorial css > Bagaimanakah Saya Boleh Mengatasi Warisan Hiasan Teks CSS dengan Berkesan?

Bagaimanakah Saya Boleh Mengatasi Warisan Hiasan Teks CSS dengan Berkesan?

Barbara Streisand
Lepaskan: 2024-12-17 16:03:13
asal
869 orang telah melayarinya

How Can I Effectively Override CSS Text Decoration Inheritance?

Memahami Pewarisan Hiasan Teks CSS

Dalam CSS, mengatasi hiasan teks boleh menjadi satu cabaran. Apabila elemen induk dengan gaya hiasan teks digunakan, ia mewarisi hiasannya kepada semua elemen anaknya. Ini boleh menyebabkan kekeliruan apabila cuba mengawal hiasan elemen tertentu.

Kes Mengatasi Hiasan Teks

Pertimbangkan contoh yang disediakan, di mana CSS berikut digunakan:

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;
}
Salin selepas log masuk

Dan HTML adalah seperti berikut:

<ul>
  <li>Should not be underlined</li>
  <li class="u">Should be underlined
    <ul>
      <li>Should not be underlined</li>
      <li class="u">Should be underlined</li>
    </ul>
  </li>
</ul>
Salin selepas log masuk

Di sini, tingkah laku yang diharapkan ialah item senarai bersarang tidak akan menerima hiasan, manakala item induk dengan kelas u akan digariskan. Walau bagaimanapun, keputusan menunjukkan bahawa semua item senarai digariskan.

Penjelasan

Sebab kelakuan ini terletak pada sifat hiasan teks CSS. Tidak seperti sifat fon lain, hiasan teks digunakan pada keseluruhan elemen, termasuk semua elemen bersarang. Ini bermakna hiasan yang ditakrifkan dalam bekas induk digunakan secara rekursif kepada anak-anaknya, tanpa mengira gaya hiasan teks mereka sendiri.

Tingkah laku ini didokumenkan dalam spesifikasi CSS21:

Text decorations on inline boxes are drawn across the entire element, going across any descendant elements without paying any attention to their presence. The 'text-decoration' property on descendant elements cannot have any effect on the decoration of the element.
Salin selepas log masuk

Kesimpulan

Mengatasi hiasan teks dalam CSS memerlukan pemahaman kelakuan warisan ini. Untuk memastikan elemen tertentu tidak mewarisi hiasan daripada induknya, adalah perlu untuk mentakrifkan hiasan teks: tiada untuk setiap peringkat sarang.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengatasi Warisan Hiasan Teks CSS dengan Berkesan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan