Above the Fold
Neben Stilen, die nur für das aktuelle Dokument gelten, können im style-Tag die CSS-Stile notiert werden, die für das Rendern des Inhalts »above the fold« wichtig sind. Diese Technik beschleunigt den Seitenaufbau beim Besucher, da der Browser nicht warten muss, bis die komplette CSS-Datei geladen wurde. I.d.R. wird das style-Element im Kopf der Seite allerdings für Stile benutzt, die nur im aktuellen Dokument eingesetzt werden.
<head> … <style media="screen"> p { color: black; font-size: 1.1em } pre { color: navy; font-size: 0.9em } code { font-family: Courier; color: navy } </style> … </head>
Dies ist ein einfaches Beispiel für das Anlegen von Stylesheets im Dokument. Die Stylesheet-Eigenschaften deklarieren die Schrift, Farbe und Größe für <p>-, <pre>- und <code>-Tags. Mehr zu CSS.
In älteren Versionen von HTML musste auch noch der Typ im style-Tag aufgeführt werden. Das gilt heute nicht mehr, das type-Attribut kann weg.
Das media-Attribut des style-Tags ist sinnvoll, wenn Stile vor der Druckausgabe versteckt werden sollen oder Stile nur für den Druck bestimmt sind (media="print").
CSS frühzeitig einbinden
Obwohl es keine Rolle spielt, in welcher Reihenfolge die Tags im head der Webseite auftreten (außer der Reihenfolge von Javascript-Dateien, die aufeinander aufbauen), werden CSS-Dateien vor Skripten eingebunden. So kann der Browser die Seite schneller darstellen.
@import-Regel
Innerhalb des style-Elements kann auch eine externe CSS-Datei mit der @import-Rule in das Dokument importiert werden. Mit der @import-Regel laden CSS-Dateien ohne den Einsatz eines CSS-Präprozessors wie Sass oder Less allerdings u.U. langsamer als mit einem link-Tag.
<style> @import url("style.css"); @import url("print.css") print; @import url("small-devices.css") projection, tv; </style>
Das link-Tag zum Einbinden externer CSS-Dateien ist die bessere Wahl, denn so kann der Browser mehrere Ressourcen gleichzeitig laden, während Dateien mit @import sequentiell geladen werden. Obendrein kann der Browser CSS-Dateien mit dem link-Tag besser zwischenspeichern. Die Import-Regel ist heute in den meisten Fällen überflüssig.
Attribute für style
- media
- eine Liste von Medien, in denen das HTML-Dokument präsentiert werden kann (all, aural, braille, handheld, print, projection, screen, tv und tty). Die Vorgabe ist screen.
- type
- deklariert die Art des Stils. Es gibt nur einen möglichen Wert: text/css. type="text/css" ist nicht erforderlich.