Rumah >hujung hadapan web >tutorial css >Bagaimanakah Sifat Tersuai Skop CSS Mengendalikan Pewarisan dan Penggantian?

Bagaimanakah Sifat Tersuai Skop CSS Mengendalikan Pewarisan dan Penggantian?

Patricia Arquette
Patricia Arquetteasal
2024-12-19 04:37:26928semak imbas

How Do CSS Scoped Custom Properties Handle Inheritance and Overriding?

Sifat Tersuai Skop CSS: Memahami Skop dan Warisan

Apabila mentakrifkan sifat tersuai CSS, memahami skopnya adalah penting untuk mencapai kesan yang diingini. Sifat tersuai yang diisytiharkan dalam elemen adalah skop kepada elemen itu dan keturunannya. Walau bagaimanapun, skop ini kadangkala boleh membawa kepada tingkah laku yang tidak dijangka, seperti yang digambarkan dalam soalan ini.

Isu ini berpunca daripada fakta bahawa dalam kod yang disediakan, sifat tersuai --skala ditakrifkan pada peringkat akar dan kemudian diganti. dalam elemen kanak-kanak. Tingkah laku utama ini tidak dijangka apabila menggunakan sifat tersuai berskop.

Untuk menunjukkan isu ini, mari analisa CSS:

:root {
  --size-1: calc(1 * var(--scale, 1) * 1rem);
  --size-2: calc(2 * var(--scale, 1) * 1rem);
  --size-3: calc(3 * var(--scale, 1) * 1rem);
}

.scale-1x {
  --scale: 1;
}

.scale-2x {
  --scale: 2;
}

.scale-3x {
  --scale: 3;
}

Di sini, sifat --size-* bergantung pada nilai daripada --skala. Walau bagaimanapun, apabila mentakrifkan --scale dalam kelas .scale-1x, .scale-2x dan .scale-3x, ia mengatasi nilai yang ditakrifkan dalam :root.

Tingkah laku yang dijangkakan adalah untuk -- sifat skala untuk dinilai pada setiap elemen yang ditakrifkan, menghasilkan saiz fon yang berbeza untuk setiap senarai. Walau bagaimanapun, ini tidak berlaku kerana sifat tersuai sudah dinilai pada peringkat akar.

Untuk menangani isu ini dan mencapai kesan yang diingini, pertimbangkan untuk menggunakan sifat tersuai berskop dengan lebih konsisten. Sebagai contoh, takrifkan --size-1, --size-2 dan --size-3 dalam setiap kelas .scale-*, memastikan ia skop kepada elemen itu sahaja. Ini akan membenarkan penskalaan bebas bagi setiap senarai berdasarkan nilai --scale yang ditakrifkan dalam kelas masing-masing.

Atas ialah kandungan terperinci Bagaimanakah Sifat Tersuai Skop CSS Mengendalikan Pewarisan dan Penggantian?. 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