Variabili globali in fogli di stile CSS
-
08-07-2019 - |
Domanda
Ho un url assoluto nel mio foglio di stile. http: //localhost/images/myimage.jpg .
Ho anche una classe di configurazione con la seguente costante
const SITE_ROOT = 'http://localhost/images'
Sulle pagine php scrivo
config :: SITE_ROOT. " /myimage.jpg"
così quando sposto il sito sul server di produzione posso cambiare la radice del sito in una posizione centrale.
Esiste un modo per farlo nel mio foglio di stile senza inserirlo nella pagina? Gli URL relativi non sono un'opzione perché sto usando riscritture mod e gli URL relativi non funzionano.
Soluzione
Puoi scrivere la tua costante SITE_ROOT
nei file CSS analizzandoli con PHP. Aggiungi questo a .htaccess
:
AddHandler application/x-httpd-php .css
Quindi incorpora PHP nei file CSS come faresti in qualsiasi file .php
.
Altri suggerimenti
Non è possibile farlo con CSS. Se vuoi fare qualcosa del genere, puoi renderlo un file PHP e utilizzare le variabili in questo modo.
Ma non potresti semplicemente usare URL assoluti?
background-image: url(/images/myimage.jpg);
Funzionerà su qualsiasi server, non è relativo e troverà i file dalla radice.