Rumah >hujung hadapan web >tutorial css >Mengapa Pembolehubah CSS Saya Tidak Berfungsi dalam Pertanyaan Media?

Mengapa Pembolehubah CSS Saya Tidak Berfungsi dalam Pertanyaan Media?

DDD
DDDasal
2024-12-07 11:51:13164semak imbas

Why Aren't My CSS Variables Working in Media Queries?

Masalah: Pembolehubah CSS Tidak Berfungsi dalam Pertanyaan Media

Apabila cuba memasukkan pembolehubah CSS ke dalam pertanyaan media, ia tetap tidak berkesan. Kod berikut berfungsi sebagai contoh:

:root {
  --mobile-breakpoint: 642px;
}

@media (max-width: var(--mobile-breakpoint)) {

}

Penjelasan:

Mengikut spesifikasi CSS:

"Fungsi var() boleh digunakan sebagai ganti mana-mana bahagian nilai dalam mana-mana harta pada elemen Fungsi var() tidak boleh digunakan sebagai nama harta, pemilih atau apa-apa lagi selain nilai harta."

Dalam erti kata lain, walaupun pembolehubah boleh digabungkan ke dalam nilai harta, ia tetap tidak serasi dengan pertanyaan media. Ini disebabkan oleh fakta bahawa pertanyaan media bukan elemen HTML dan oleh itu tidak boleh mewarisi daripada elemen akar di mana pembolehubah biasanya ditakrifkan.

Alternatif:

Untuk mencapai yang serupa kefungsian, pembangun boleh mempertimbangkan untuk menggunakan prapemproses CSS. Prapemproses memanjangkan CSS dengan membenarkan kod tersuai ditulis, yang boleh digunakan untuk membuat pertanyaan media dinamik berdasarkan nilai pembolehubah.

Atas ialah kandungan terperinci Mengapa Pembolehubah CSS Saya Tidak Berfungsi dalam Pertanyaan Media?. 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