Rumah > hujung hadapan web > tutorial css > Bagaimanakah Pewarisan Hiasan Teks CSS Berfungsi, dan Mengapa Mengatasinya Kadang-kadang Gagal?

Bagaimanakah Pewarisan Hiasan Teks CSS Berfungsi, dan Mengapa Mengatasinya Kadang-kadang Gagal?

Linda Hamilton
Lepaskan: 2024-12-16 01:57:11
asal
215 orang telah melayarinya

How Does CSS Text-Decoration Inheritance Work, and Why Does Overriding it Sometimes Fail?

Memahami Warisan hiasan teks

Dalam CSS, sifat hiasan teks mengawal gaya garis hiasan yang digunakan pada teks. Walau bagaimanapun, tidak seperti gaya berkaitan teks lain seperti berat fon, hiasan teks berkelakuan dengan jelas.

Isu dengan Menggantikan Hiasan Diwarisi

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

Kod ini bertujuan untuk mengelakkan hiasan yang diwarisi daripada digunakan pada item senarai bersarang. Walau bagaimanapun, struktur HTML di bawah mendedahkan hasil yang tidak dijangka:

<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

Penjelasan

Isunya terletak pada fakta bahawa hiasan teks digunakan untuk semua elemen bersarang dalam elemen yang digunakan untuknya. Ini bermakna walaupun anda cuba mengatasi hiasan yang diwarisi pada elemen bersarang, hiasan yang diwarisi masih akan digunakan.

Menurut spesifikasi CSS 2.1, "hiasan teks pada kotak sebaris dilukis merentas keseluruhan elemen , merentasi mana-mana unsur keturunan tanpa memberi perhatian kepada mereka kehadiran."

Penyelesaian

Untuk menangani isu ini, pendekatan berbeza diperlukan. Daripada bergantung pada pemilih bersarang untuk mengatasi hiasan yang diwarisi, gunakan teknik alternatif seperti:

  • Menggunakan elemen pseudo ::sebelum atau ::selepas untuk mencipta garisan hiasan
  • Menggunakan JavaScript untuk mengubah suai sifat hiasan teks secara dinamik
  • Menggunakan harta hiasan teks terus kepada elemen yang dikehendaki tanpa bergantung pada warisan

Atas ialah kandungan terperinci Bagaimanakah Pewarisan Hiasan Teks CSS Berfungsi, dan Mengapa Mengatasinya Kadang-kadang Gagal?. 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