Solución:
En realidad, no debería utilizar un archivo .css y, en su lugar, utilizar un archivo .php que actúe como un archivo .css. Luego, puede establecer el nuevo color en una variable en el archivo .php css.
Cambie el nombre de su archivo style.css a style.php, luego agregue lo siguiente en la parte superior del archivo:
<?php header("Content-type: text/css"); ?>
Esta línea le dice al navegador que el archivo es CSS en lugar de HTML. En sus archivos HTML, cambie las referencias de la hoja de estilo de style.css a style.php. Por ejemplo:
<link rel="stylesheet" type="text/css"
media="screen" href="https://foroayuda.es/style.php">
cita: http://www.barelyfitz.com/projects/csscolor/
Publicar un archivo CSS a través de PHP agregará una sobrecarga al servidor, ya que tendrá HTML y CSS dinámicos para crear. Dada la naturaleza ‘en cascada’ de CSS, cualquier estilo en línea servido en las páginas HTML anulará el CSS, por lo que es muy probable que simplemente pueda agregar algunos estilos en línea en las páginas que ya están siendo servidas por PHP. Otra opción es actualizar el CSS usando Javascript, aquí hay una forma de hacerlo, pero no creo que esto funcione en todos los navegadores (lo uso en Webkit en iOS): –
var cssStyle = getCSSRule('#styleName');
cssStyle.style.background = redfinedColour;
… usando getCSSRule desde aquí: –
http://www.hunlock.com/blogs/Totally_Pwn_CSS_with_Javascript
Cómo lo hago es tener un controlador de carga de contenido o un script que cargará imágenes / css / js y las pasará al navegador, también puede controlar el caché y crear javascript dinámicamente, como las listas de imágenes en tinyMCE ect:
Aquí hay un ejemplo simplificado, pero entiendes la idea.
<?php
$filename = value passed from url
if(file_exists(SITE_ROOT.'/templates/'.$theme.'/css/'.basename($filename))==true){
$fullpath=SITE_ROOT.'/templates/'.$theme.'/css/'.basename($filename);
header("Content-type: text/css");
$search=array('{SITE_URL}','{BACKGROUND}');
$replace=array('http://example.com',get_option('backgroundchanges'));
echo str_replace($search,$replace,file_get_contents($fullpath));
die;
}else{
die('CSS file does not exist!');
}
?>
Luego, tiene archivos css con marcadores de posición reemplazados por sus parámetros:
#div{
background: #{BACKGROUND} url('{SITE_URL}/stripe.png') repeat;
}