Variables globales dans les feuilles de style css
-
08-07-2019 - |
Question
J'ai une URL absolue dans ma feuille de style. http: //localhost/images/myimage.jpg .
J'ai aussi une classe de configuration avec la constante suivante
const SITE_ROOT = 'http://localhost/images'
Sur les pages php j'écris
config :: SITE_ROOT. " /myimage.jpg"
ainsi, lorsque je déplace le site sur le serveur de production, je peux modifier la racine du site à un emplacement central.
Existe-t-il un moyen de faire cela dans ma feuille de style sans la mettre dans la page? Les URL relatives ne sont pas une option, car j'utilise des réécritures de mod et les URL relatives ne fonctionnent pas.
La solution
Vous pouvez écrire votre constante SITE_ROOT
dans les fichiers CSS en les analysant avec PHP. Ajoutez ceci à .htaccess
:
AddHandler application/x-httpd-php .css
Ensuite, intégrez PHP dans les fichiers CSS comme vous le feriez dans n'importe quel fichier .php
.
Autres conseils
Il n’ya aucun moyen de faire cela avec CSS. Si vous voulez faire quelque chose comme ça, vous pouvez en faire un fichier PHP et utiliser les variables de cette façon.
Mais ne pouvez-vous pas simplement utiliser des URL absolues?
background-image: url(/images/myimage.jpg);
Travaillera sur n'importe quel serveur, n'est pas relatif et trouvera les fichiers à la racine.