Also auch wenn der Titel etwas komisch klingt, habe ich eine vernünftige Frage.
Nehmen wir mal an, ich rufe eine Datei auf: “index.htm?design=1”. In der index.htm ist ein Link zu einer externen CSS datei.
[code]<?php $design=$_GET['design']; ?>
" type="text/css" rel="stylesheet" />[/code]
Kann ich diese Get-Variable in der CSS-Datei prüfen lassen, oder wird sie nicht erkannt.
<?php
$design = $_GET['design'];
header("content-type: text/css"); //Dem Browser sagen, dass es ein CSS-Dokument ist
if(file_exsists("styles/css{$design}.css")) //Wenn die CSS-Datei existiert
include "styles/css{$design}.css"; //sie includieren
else
include "styles/css1.css"; //andernfalls die Standard-CSS
Weil CSS-Dateien nicht ausgeführt werden, und das ist auch gut so
Man kann Apache anweisen PHP-Code in CSS-Dateien zu parsen, das ist dann letzten Endes jedoch ähnlich kompliziert…
Ich verwende ebenfalls ein dynamisches CSS auf meiner Seite. (Benutzer können die Designfarbe wählen)
Bei mir funktionierts (abgekürzt) wie folgt:
$farbe = $ergebnis['farbe']; //Aus Datenbank jeweilge Farbe ausgelesen als HEX ohne #
echo '<link href="default.css.php?color=<?php echo"$farbe"; ?>" type="text/css" rel="stylesheet" />'
und dann im Css drin:
<?php
$color = $_GET['color'];
header("content-type: text/css"); //Dem Browser sagen, dass es ein CSS-Dokument ist
?>
a {
color: #<?php echo $color; ?>;
}
h2 {
color: #<?php echo $color; ?>;
}
usw…
So wird bei mir dann einfach bei den jeweiligen Tags, Klassen oder IDs die dynamische Farbe eingesetzt. Funktioniert gut jedoch ein bisschen langsamer als normale CSS Dateien.
Deshalb habe ich nur die Styles die dynamisch sein sollen in eine einzelne dynamic.css.php verpackt und so wie oben erzeugt und alle Styles die gleich bleiben in eine andere…