Rumah >hujung hadapan web >tutorial css >Bagaimana Anda Menyimpan Nilai Diwarisi dalam Pembolehubah CSS?

Bagaimana Anda Menyimpan Nilai Diwarisi dalam Pembolehubah CSS?

Barbara Streisand
Barbara Streisandasal
2024-11-17 05:47:03888semak imbas

How Do You Store Inherited Values in CSS Variables?

Menyimpan Nilai Warisan dalam Pembolehubah CSS

Dalam CSS, kita sering menghadapi keperluan untuk memanipulasi sifat berdasarkan nilai yang diwarisi, seperti mewarisi warna latar belakang elemen untuk unsur pseudonya. Walau bagaimanapun, menggunakan kata kunci warisan dalam pembolehubah CSS tidak selalu berfungsi seperti yang diharapkan.

Masalahnya

Pertimbangkan contoh mudah ini:

:root {
  --color: rgba(20, 20, 20, 0.5); /* Default value */
}

.box {
  /* Properties... */
}

.box:before {
  background: var(--color);
  /* Other properties... */
}

Dalam senario ini, kami menambah elemen pseudo (::before) pada elemen .box dan menetapkan sifat latar belakangnya untuk menggunakan pembolehubah CSS --color. Walau bagaimanapun, jika kita mahu elemen pseudo mewarisi warna latar belakang .box menggunakan kata kunci warisan, ia tidak akan berfungsi seperti yang diharapkan.

Penyelesaian

Untuk menyimpan nilai yang diwarisi dalam pembolehubah CSS, kita boleh menggunakan nilai sandaran harta itu. Nilai sandaran ditentukan sebagai hujah kedua kepada fungsi var(). Contohnya:

background: var(--color, inherit);

Dengan melakukan ini, kami memberitahu sifat latar belakang untuk menggunakan warisan sebagai nilai sandaran jika pembolehubah --color tidak ditakrifkan.

Walau bagaimanapun, dalam kes kami, ini tidak akan berfungsi kerana --color sentiasa ditakrifkan pada tahap :root. Untuk mengatasi isu ini, kami boleh menggunakan nilai awal untuk menyahtakrifkan sifat tersuai kami dan memaksa penggunaan nilai sandaran:

.box:before {
  background: var(--color, inherit);
  /* Other properties... */
}

/* Undefine --color using the initial value */
.box:before {
  --color: initial;
}

Nilai awal menetapkan pembolehubah CSS kepada nilai awalnya, yang merupakan kosong nilai. Apabila pembolehubah CSS mempunyai nilai awal, var() menganggapnya sebagai mempunyai nilai sandarannya.

Dengan menggunakan pendekatan ini, kita boleh menyimpan nilai yang diwarisi dalam pembolehubah CSS --color dan menggunakannya dengan berkesan untuk sifat latar belakang unsur pseudo.

Atas ialah kandungan terperinci Bagaimana Anda Menyimpan Nilai Diwarisi dalam Pembolehubah CSS?. 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