Les propriétés personnalisées (variables CSS) offrent un moyen efficace de stocker et de réutiliser les valeurs de style. Cependant, les utilisateurs ont rencontré des difficultés lorsqu'ils ont tenté d'interpoler ces variables dans la fonction url().
Pourquoi les variables CSS ne peuvent-elles pas être interpolées avec url() ?
Malgré les capacités d'interpolation des fonctions CSS comme rgba(), url() présente une exception notable. Le problème se pose car l'analyseur interprète url(var(--url)) comme un seul jeton url() non valide, plutôt que comme un appel de fonction. Cela empêche l'évaluation de l'expression var() et conduit à une déclaration d'arrière-plan non valide.
Raisons héritées
L'incapacité d'interpoler les variables dans url() peut être attribuée à des raisons héritées. L'analyse du jeton url() est restée intacte pour maintenir une compatibilité descendante avec les versions CSS antérieures.
Solutions alternatives
Bien que l'interpolation de variables ne soit pas possible avec url(), il existe des approches alternatives pour obtenir un effet similaire :
:root { --url: url("https://download.unsplash.com/photo-1420708392410-3c593b80d416"); } body { background: var(--url); }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!