Permalink

3

Wechselnde Hintergrundgrafiken mit PHP

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:

Diese style.php-Datei kann dann etwa so aussehen:

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?

    2 Klicks für mehr Datenschutz: Erst nach einem Klick wird der Button aktiv, da schon beim Aktivieren Daten an Dritte übertragen werden können.

Kategorien Technik & IT, Web & Webdesign Schlagwörter , ,

3 Kommentare

    • 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 dem html heraus zusätzlich auf ein weiteres style.css — die Einbindung mehrerer Stylesheets ist ja an sich kein Problem.
      Ich hoffe das konnte Deine Frage einigermaßen beantworten. Ansonsten gerne nochmal nachfragen 🙂

Schreibe einen Kommentar

Pflichtfelder sind mit * markiert.