Cuando incluimos un archivo css dentro de un php lo hacemos del siguiente modo:
<link href="estilo.css" rel="stylesheet" type="text/css" />
Para poder ejecutar PHP dentro de un fichero CSS lo que necesitamos es especificar dentro de un PHP un content-type como text/css:
header(“Content-type: text/css");
Así pues lo que tendríamos, por ejemplo sería un archivo estilo.php que ejecutará comandos PHP y que se "renderizará" en el cliente como una hoja de estilos. Para incluirlo dentro de nuestros documentos lo haríamos con la siguiente instrucción:
<link href="estilo.php" rel="stylesheet" type="text/css" />
La inclusión de PHP puede hacer que tengamos mucha más versatilidad sobre el CSS. Por ejemplo que muestre un color de fondo dependiendo del día de la semana que sea.
<?php
header("Content-type: text/css");
$diasem = date("l");
switch ($diasem) {
case "Sunday":
echo "body {background-color: #FF0000;}";
break;
case "Monday":
echo "body {background-color: #CCCCCC;}";
break;
case "Tuesday":
echo "body {background-color: #CCFFCC;}";
break;
case "Wednesday":
echo "body {background-color: #336699;}";
break;
case "Thursday":
echo "body {background-color: #00FF00;}";
break;
case "Friday":
echo "body {background-color: #0000FF;}";
break;
case "Saturday":
echo "body {background-color: #FFFFFF;}";
break;
}
?>
Quizá la funcionalidad más interesante sea la de servir determinados aspectos del CSS en función del navegador cliente a través de la variable $HTTP_USER_AGENT variable. En este ejemplo, en función de si el navegador es Internet Explorer o FireFox, se otorgan unas características u otras al div "contenedor".
<?php
header("Content-type: text/css");
if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE')== true) { ?>
#contenedor {
margin-left:30px;
width: 700px;
text-align:left;
background-color:#FF0000;
}
<?php } elseif (strpos($_SERVER['HTTP_USER_AGENT'], 'Firefox') == true) {?>
#contenedor {
margin-left: 50px;
width: 650px;
text-align:left;
}
<?php
}
?>
