Intelligente Stylesheets mit Hilfe von PHP

PHP - Intelligente StylesheetsIntelligente Stylesheets, das sind Stylesheets die sich an den jeweiligen Browser anpassen. So gestalten Sie diese Stylesheets mit PHP…

Der Grundgedanke ist eigentlich einfach. Mit PHP wird das Stylesheet
den Anforderungen entsprechend umgeändert. Sodass ein Bild
auch die angegebene Größe hat, und es nicht zu unterschiedlichen
Ausgaben kommt, also das Bild verzerrt wird, nur weil sich die zwei
Browserhersteller nicht auf eine Definition eines Pixels einigen
können.
Das Problem dabei ist, das der Nutzer sich damit abfinden muss!

Das Intelligente PHP-Stylesheet wird ganz normal eingebunden, nur
die Endung des Stylesheets ist in diesem Fall *.php, was dafür
verantwortlich ist, das der Stylecode mit dem PHP-Parser interpretiert
wird.

Der Code für die Einbindung in die Website sieht also wie
folgt aus:

<link rel="stylesheet" href="muss.php">

Der Name des Stylesheets (hier rot) ist natürlich beliebig.

Der Code eines Stylesheets welches die IE Nutzer von den NS Nutzern
Browsergerecht ausgibt sieht als Beispiel wie folgt aus:

<?php

if (eregi("MSIE",getenv("HTTP_USER_AGENT")))

{

// für IE

echo "p {font-family: Verdana;
font-size: 10px; color: red;} ";

}

elseif (eregi("NS",getenv("HTTP_USER_AGENT")))

{
// Für Netscape

echo "p {font-family: Verdana
font-size: 12px; color: red;} ";
}

?>

Dieses Beispiel ist wirklich nur ein Beispiel, doch es zeigt sehr
gut wie man PHP und CSS zusammen sinnvoll verwendet. Klar solche
Lösungen kommen nur für ausgefeilte Stylesheets in Frage,
da andernfalls die Arbeit mit JavaScript und CSS als leichter ersehen
wird.
Es fällt vielen die einen solchen Code zum ersten Mal sehen
schwer zu glauben, dass der Code auch korrekt interpretiert wird,
doch durch die Festlegung des Mime-Typs in der Einbindung des Stylesheets
kommt es zu keiner Fehlinterpretation. Der Code ist eben dynamisch
und Nutzerorientiert.
Jedes Sprachkonstrukt von PHP kann in der Stylesheet-Datei verwendet
werden, nur muss irgendwann ein korrektes Stylesheet ausgespuckt
werden. Zudem sollte man nicht zu euphorisch an die Sache gehen,
und mehrere Seiten Code über die CSS-Datei abarbeiten, da man
immer noch an die Ladezeiten denken muss.

This entry was posted in PHP. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *