Variables globales en hojas de estilo CSS
-
08-07-2019 - |
Pregunta
Tengo una url absoluta en mi hoja de estilo. http: //localhost/images/myimage.jpg .
También tengo una clase de configuración con la siguiente constante
const SITE_ROOT = 'http://localhost/images'
En las páginas php escribo
config :: SITE_ROOT. " /myimage.jpg"
de modo que cuando muevo el sitio al servidor de producción puedo cambiar la raíz del sitio en una ubicación central.
¿Hay alguna forma de hacer esto en mi hoja de estilo sin ponerlo en la página? Las URL relativas no son una opción porque estoy usando reescrituras de mod y las URL relativas no funcionan.
Solución
Puede escribir su constante SITE_ROOT
en los archivos CSS analizándolos con PHP. Agregue esto a .htaccess
:
AddHandler application/x-httpd-php .css
Luego incruste PHP en los archivos CSS como lo haría en cualquier archivo .php
.
Otros consejos
No hay forma de hacer esto con CSS. Si desea hacer algo como esto, puede convertirlo en un archivo PHP y usar variables de esa manera.
¿Pero no podrías simplemente usar URL absolutas?
background-image: url(/images/myimage.jpg);
Funcionará en cualquier servidor, no es relativo y encontrará los archivos desde la raíz.