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.

Bookmark setzen... These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Bloglines
  • MisterWong
  • MySpace
  • Reddit
  • SEOigg
  • Technorati
  • TwitThis
  • Y!GG
  • Google Bookmarks

Keine weiterführenden Beiträge.