Weil ich mich gerade selbst damit auseinandersetzen musste, gibt’s hier nen kleinen Schnipsel wie man mittels PHP (und natürlich CSS) wechselnde Hintergrundgrafiken in eine Website einbaut. Den Disclaimer von wegen Grafikgröße, Ladezeiten etc. erspare ich mir hier aber.
Der Trick besteht darin, im HTML kein Stylesheet zu verlinken, sondern eine PHP, die das Stylesheet beinhaltet. Die Verlinkung erfolgt wie gewohnt im head
-Teil der Seite, nur dass die Datei eben nicht style.css
, sondern style.php
heißt:
<link rel="stylesheet" type="text/css" href="style.php" media="screen, projection" />
Diese style.php
-Datei kann dann etwa so aussehen:
<?php header('content-type:text/css'); $bild = mt_rand ( 1, 5 ); $src = '/Bilder/Background'.$bild.'.jpg'; ?> body{ background-image: url(<? echo $src; ?>); background-repeat: no-repeat; }
Wichtig ist die Zeile header('content-type:text/css');
, damit das CSS richtig ankommt. Danach wird eine Zufallszahl zwischen 1 und 5 erzeugt — entsprechend der Anzahl an Bildern, die man abwechseln möchte. Bei $src
wird schließlich der Pfad zu den Bildern hinterlegt, die nach dem Schema BackgroundX.jpg
gespeichert sind, wobei das X
die entsprechende Nummer widerspiegelt. Das funktioniert übrigens nicht nur mit dem body
-Element, sondern auch mit div
etc.
In der gleichen Datei lassen sich auch alle weiteren CSS-Anweisungen einbinden. Natürlich könnte man die Zufallsauswahl in eine eigene .php-Datei fassen und diese dann entsprechend aufrufen, was aber die Zahl der Verlinkungen erhöhen würde und überhaupt: Warum denn kompliziert, wenn es auch einfach geht?
Hallo,
ich möchte tatsächlich nur diese style.php extra aus der style.css aufrufen.
Wie sieht das dann aus.
Danke
Hi,
ich glaube ich stehe gerade ein bisschen auf dem Schlauch und verstehe die Frage nicht.
Du möchtest die
.php
– aus der.css
-Datei aufrufen? Und wenn ja, wozu? Die.php
-Datei kann ja theoretisch alle weiteren Formatierungen enthalten. Oder Du verlinkst aus demhtml
heraus zusätzlich auf ein weiteresstyle.css
— die Einbindung mehrerer Stylesheets ist ja an sich kein Problem.Ich hoffe das konnte Deine Frage einigermaßen beantworten. Ansonsten gerne nochmal nachfragen 🙂
Danke, hat sich erledigt. In der php Datei kann man das ja alles auch machen wie du schon sagtest.