Cuando se le pregunta a los diseñadores qué nuevas funcionalidades quisieran añadir a las futuras versiones de CSS, siempre surge la idea de "variables".
Al dÃa de hoy esto no se considera una práctica ni buena ni mala, aunque muchos optan por usar variables de php en sus estilos css. El principal motivo es el grado de abstracción que nos permite trabajar de esta forma. ¿Estás dispuesto a conocer cómo implementar esta técnica?
Style.php
En lugar de utilizar la extensión de archivo .css, utiliza .php
Content-type
Al comienzo de tu nuevo archivo style.php setea el tipo de contenido de nuevo como CSS:
-
?>
Setea las variables
Ahora puedes setear variables para lo que quieras, por ejemplo:
-
-
$colorMarca = "#990000";
-
$colorLinks = "#555555";
-
$urlBase = "http://cdn.blahblah.net";
-
?>
Usando las variables
Debajo del código PHP, puedes comenzar con el CSS común y corriente, sólo que ahora también puedes usar PHP para imprimir el contenido de esas variables.
-
#header {
-
background: url("/images/header-bg.png") no-repeat;
-
}
-
a {
-
color: ;
-
}
-
-
...
-
-
ul#main-nav li a {
-
color: ;
-
}
Ir más allá/Otras ideas
- Además de esto, podrÃas también comprimir el CSS con PHP.
- En teorÃa, podrÃas tomar el user agent y tratar de cargar estilos especÃficos para cada navegador.
- Obtener la fecha/hora y cambiar el diseño de tu sitio según las estaciones o los distintos momentos del dÃa.
- Genera un número random y utilÃzalo para setear una imagen de fondo al azar en tu cabecera.
¿No funciona?
Si no funciona puede que la solución sea dejar el nombre del archivo como style.css, y utilizar .htaccess para que sea analizado como PHP. Simplemente asegúrate de incluir este código en el archivo .htaccess (sólo para servidores Apache) en el mismo nivel del directorio en que se encuentra el archivo CSS. Luego, sólo utiliza PHP dentro, de la misma forma en que lo harÃan con cualquier otro archivo PHP.
-
SetHandler php5-script
Fuente: CSS-Tricks








Miércoles, 30 de Diciembre de 2009 a las 10.28
Muy interesante y practico lo de injectar valores css con php. Mientras lo leia se me ocurrieron varias cosas para hacer con esto.
Lo único que no me cierra es el codigo para el .htaccess.
Saludos.
Jueves, 31 de Diciembre de 2009 a las 01.42
Buenas.. no conocia lo del htaccess..aunque para usarlo hay que tener el handler "php5-script" ¿Sabes cómo puedo agregarlo?
-----
Por otra parte.. cambiando la expresión regular de esa forma:
"\.(css|css2)$" en el FilesMatch
Se podrÃa utilizar para hacer que php parseé los archivos .CSS (o .css2. o .css3 como algunos los nombran) sin necesidad de cambiar la extencion por "php"... aunque no estoy seguro de que funcione porque no tengo el handler en el apache de mi ubuntu y no lo probé en otro server..
Viernes, 1 de Enero de 2010 a las 19.57
Esta genial, cargar estilos especificos para cada navegador, no tenia idea que se podia mesclar php y css
Lunes, 4 de Enero de 2010 a las 17.37
Muy práctico. Solo creo debe corregirse bajo el subtÃtulo "Usando las variables", en donde dice 'escupir' por 'esculpir'.
Lunes, 4 de Enero de 2010 a las 19.27
Esta tecnica es muy usada en los templates de administradores de contenidos
Lunes, 4 de Enero de 2010 a las 19.47
y una consulta se puede mezclar de igual forma asp.net y css?
Lunes, 4 de Enero de 2010 a las 21.14
Hola, muy interesante el artÃculo, yo suelo usar esa técnica, o en desmedredo de ella, utilizo javascript, setando los CSS dinámicamente..saludos..
Lunes, 4 de Enero de 2010 a las 21.31
Una idea muy buena principalmente por lo de la incompatibilidad CSS entre los navegadores
Martes, 5 de Enero de 2010 a las 04.10
Nunca lo habÃa pensando.
"escupir"? imprimir suena mejor
Martes, 5 de Enero de 2010 a las 11.58
@neiker
Te dejo un link con info al respecto ^_^
https://help.ubuntu.com/community/EnablingUseOfApacheHtaccessFiles
Jueves, 11 de Febrero de 2010 a las 08.32
estamos usando CSS para hacer mas limpio el codigo para los buscadores. Probaremos como resulta si lo hacemos de acuerdo a este post
Viernes, 11 de Marzo de 2011 a las 11.56
También podes guardar código php en un "*.css" y con .htaccess se lo puede tomar como un php. Entonces seguimos ejecutando php en un archivo .css que queda tal vez, menos sospechoso...