screenshot from netscape communicator 4.01a

Style-Sheets in HTML

FÜR PROFESSIONELLE TEXTFORMATIERUNGEN
[Styles definieren] [mögliche Angaben]

Beim Gestalten von Texten stößt man schnell an die Grenzen von HTML, vermißt die vielfältigen Möglichkeiten einer professionellen Textverarbeitung wie beliebige Schriftgrößen, Einrückungen oder frei definierbare Vor- und Nachabstände für Absätze. Style-Sheets in HTML sollen es möglich machen: Formate zu definieren, die auf einzelne Textabsätze anwendbar sind.

Die neuen DTP-Raffinessen sorgen auch für neue Konflikte: HTML-Entwickler können nur ahnen, womit ihre WWW-Seiten letztendlich gelesen werden, zu groß ist die Palette der möglichen Betriebssysteme und Oberflächen. Und noch gehören Style-Sheets nicht zum offiziellen HTML-Standard. Das W3-Konsortium sieht sie aber für die Zukunft fest vor und bietet in HTML 3.2 bereits umfangreiche Empfehlungen zum Notieren von Style-Sheets an. Diese Empfehlungen finden Sie in der Internet-Draft "Cascading Style Sheets" unter http://www.w3.org/pub/WWW/TR/PR-CSS1 (englisch).

 Style-Sheets in HTML
Text in jeder Größe

Wenn Sie Ihre Webseiten heute schon mit Style-Sheets erstellen, setzen Sie diese sparsam ein und achten Sie darauf, daß die Seiten trotzdem für alle Anwender lesbar sind. Nur die neuesten Browser-Versionen können Style-Sheets interpretieren - Netscape ab v4.0 und MS Internet Explorer ab v3.0. Da diese Technik noch nicht ausgereift ist, kann es vorkommen, daß die Anzeigeergebnisse von Ihren Vorstellungen abweichen.

Sie haben verschiedene Möglichkeiten, Style-Sheets zu definieren. Wenn Sie in einer HTML-Datei eine bestimmte Textstelle besonders hervorheben möchten, genügt es, im einleitenden HTML-Tag die gewünschten Stil-Elemente zu notieren. Ein Beispiel:

<p style="color: blue; font-size: 24 pt">Blauer Text in 24 Punkt</p>

Alle Angaben folgen einer festen Syntax. Nach dem einleitenden style= werden alle Formatierbefehle durch Strichpunkte (Semikolon) voneinander getrennt und in Anführungszeichen eingeschlossen.

Ein Formatierbefehl besteht aus der Formatangabe (gefolgt von einem Doppelpunkt) und der Zuweisung eines geeigneten Wertes. Im Beispiel oben werden also die Farbe (color:) Blau (blue) und die Schriftgröße (font-size:) 24 Punkt (24 pt) definiert. Diese Vorgaben gelten für den gesamten Absatz (<p> ... </p>). Die Angabe style= läßt sich in allen einleitenden HTML-Tags zur Textformatierung wie z.B. <blockquote>, <h3> usw. verwenden.

Hinweis: Erst Netscape-Version 4.+ kann diese Art der Style-Sheet-Einbindung interpretieren. Der MS Internet Explorer beherrscht diese Technik bereits seit der Version 3.+.


 
 Top

Dateiweite Style-Sheet-Definitionen

Die professionelle Anwendung und eigentliche Stärke von Style-Sheets ist das Vordefinieren von Formaten. Diese Vorgaben gelten dann für eine gesamte Datei oder lassen sich für eine beliebige Anzahl Dateien wiederverwenden. Sie werden im Kopf (<head> ... </head>) einer HTML-Datei notiert. Das nächste Beispiel zeigt, wie Sie dateiweite Vorgaben für die aktuelle Datei definieren:

<head>

<title>Style-Sheets</title>

<style type="text/css">

h1 { color: red; font-size: 18 pt; font-style: bold }

p,li { font-size: 10 pt; line-height: 12 pt; font-family: helvetica }

</style>

</head>

Alle zu definierenden Vorgaben stehen innerhalb der Tags <style type="text/css"> ... </style>. Als nächstes notieren Sie die HTML-Tags, für die Sie dateiweite Eigenschaften definieren möchten. In unserem Beispiel sind dies die Tags h1 (=<h1>), p (=<p>) und li (=<li>). Bitte beachten Sie die Schreibweise o h n e die spitzen Klammern. Wenn Sie mehreren Elementen die gleichen Eigenschaften zuweisen möchten, können Sie diese Elemente hintereinander notieren, getrennt durch Kommata (wie im Beispiel p,li). Die eigentlichen Formatierbefehle werden von geschweiften Klammern eingeschlossen { ... } und folgen der Syntax, die wir schon im ersten Beispiel (style=) weiter oben kennengelernt haben.

Sie benötigen verschiedene Absatzformate innerhalb einer Datei? Auch dafür gibt es eine Möglichkeit. Definieren Sie einfach mehrere "Klassen" oder "Unterformate" eines bestimmten HTML-Tags. Im folgenden Beispiel sehen Sie, wie dem Absatz-Tag <p> verschiedene Eigenschaften zugewiesen werden:

<head>

<title>Style-Sheets</title>

<style type="text/css">

p.standard { color: black; font-size: 10 pt }

p.gross { color: black; font-size: 18 pt }

p.rot { color: red; font-size: 10 pt }

p.grün { color: green; font-size: 10 pt }

</style>

</head>

Der Unterschied zum vorherigen Beispiel besteht darin, daß Sie den einzelnen Unterformaten einen Namen zuweisen. Notieren Sie dazu erst den Tag, in diesem Fall p (=<p>), gefolgt von einem Punkt und einem frei wählbaren Namen. Im eigentlichen Textkörper der Datei, also innerhalb von <body> ... </body>, können Sie diese Unterformate beliebigen Absätzen zuweisen. Die entsprechenden Anweisungen für unser Beispiel oben sehen dann so aus:

<p class=standard>Schwarzer Text in 10 Punkt</p>

<p class=gross>Schwarzer Text in 18 Punkt</p>

<p class=rot>Roter Text in 10 Punkt</p>

<p class=grün>Grüner Text in 10 Punkt</p>

Im Einleitungstag steht also die Angabe class= gefolgt von dem im Head definierten Namen des gewünschten Formates.

Doch der "Königsweg" ist, Style-Sheet-Definitionen in einer separaten Datei abzulegen. Sie definieren alle benötigten Formate einmal - und referenzieren diese Datei dann in jeder HTML-Datei, in der Sie diese Formatierungen nutzen wollen. Ändern Sie eines oder mehrere dieser Formate, werden alle veknüpften Dokumente automatisch aktualisiert. Die Datei, in der die Style-Sheet-Definitionen stehen, muß eine reine ASCII-Datei sein und darf nichts anderes als eben diese Definitionen enthalten. Nicht zwingend, aber dringend empfohlen ist es, diese Datei mit der Kennung .css zu speichern, z.B. myformat.css. Um die Format-Vorgaben in dieser Datei zu notieren, benutzen Sie die gleiche Syntax wie innerhalb von <style ...> ... </style> in den vorangegangenen Beispielen. Das Referenzieren in einer HTML-Datei sieht folgendermaßen aus:

<head>

<title>Style-Sheets</title>

<style type="text/css">

@import url(myformat.css)

</style>

</head>

Statt innerhalb der <style>-Tags jedes benötigte Format zu notieren, schreiben Sie nur noch den Befehl @import url(...). Innerhalb der Klammern steht der Name der ASCII-Datei, in der Sie die Formate definiert haben.

Sie sind aber keineswegs an die importierten Formate gebunden. Innerhalb von <style...> ... </style> können Sie mit der weiter oben beschriebenen Syntax zusätzliche Formate definieren, die nur für die aktuelle Datei gültig sind. Diese direkt definierten Formate haben Vorrang vor den importierten Formaten.

Der Vollständigkeit halber sei noch erwähnt, daß HTML 3.2 bereits weiterführende Möglichkeiten bietet, die sogenannten "Standardverweise". Diese Technik soll dem Anwender das Navigieren in großen Datenbeständen leichter machen. Wenn zukünftige Browserversionen in der Lage sind, diese Standardverweise zu interpretieren, werden Sie als Anwender bestimmen können, ob Sie die angebotenen Stylesheets nutzen möchten oder nicht.

Zum Abschluß noch ein kleiner Kniff, mit dem Sie umfangreiche Formatvorgaben innerhalb des <style>-Tags kommentieren können. Dafür steht eine spezielle, an die Programmiersprache C angelehnte Syntax zur Verfügung. Auch dazu ein Beispiel:

<head>

<title>Style-Sheets</title>

<style type="text/css">

h1 { color: red; font-size: 18 pt; font-style: bold }

/* Extra große Überschrift erster Ordnung in rot */

</style>

</head>

Der Kommentar wird mit /* eingeleitet und die umgekehrte Zeichenfolge */ beendet ihn.


 
 Top

Mögliche Style-Sheet-Angaben


Schriftfamilie font-family: (Schriftnamen/Schriftfamiliennamen)

Schriftart font-style: [normal | italic | oblique]

Schriftvariante font-variant: [normal | small-caps]

Schriftgröße font-size: Numerischer Wert

Schriftgewicht font-weight: [normal | bold | bolder |lighter | 100 | 200 |

300 | 400 | 500 | 600 | 700 | 800 | 900]
 

Wortabstand word-spacing: Numerischer Wert

Zeichenabstand letter-spacing: Numerischer Wert

Zeilenhöhe line-height: Numerischer Wert

Textdekoration text-decoration: [underline | overline | line-through | blink]

Textart text-transform: [capitalize | uppercase | lowercase | none]
 

Texteinrückung text-indent: Numerischer Wert

Vertikale Textausrichtung

vertical-align: [baseline | sub | super | top | text-top | middle |

bottom | text-bottom] oder numerisch in Prozent

Horizontale Textausrichtung

text-align: [left | right | center | justify]
 

Farbe color: HTML-Farbangabe

Hintergrundfarbe background-color: HTML-Farbangabe
 

Abstand oben margin-top: Numerischer Wert

Abstand links margin-left: Numerischer Wert

Abstand unten margin-bottom: Numerischer Wert

Abstand rechts margin-right: Numerischer Wert
 

Rahmendicke oben

border-top-width: [thin | medium | thick] oder numerischer Wert

Rahmendicke links

border-left-width:

[thin | medium | thick] oder numerischer Wert

Rahmendicke unten

border-bottom-width:

[thin | medium | thick] oder numerischer Wert

Rahmendicke rechts

border-right-width:

[thin | medium | thick] oder numerischer Wert

Rahmenfarbe border-color: HTML-Farbangabe

Rahmentyp border-style: [none | dotted | dashed | solid | double | groove | ridge

| inset | outset]

Innenabstand oben bei Rahmen

padding-top: Numerischer Wert

Innenabstand links bei Rahmen

padding-left: Numerischer Wert

Innenabstand unten bei Rahmen

padding-bottom: Numerischer Wert

Innenabstand rechts

padding-right: Numerischer Wert

Auch für das Notieren von numerischen Werten gibt es feste Regeln:
Notieren Sie immer erst den Wert, dann das Maß
- z.B. 24 pt oder 2.5 cm. Verwenden Sie als Dezimalzeichen immer einen Punkt.
Die folgenden Angaben sind zulässig:

pt für Punkt (= 1/72 inches)

pc für Pica (= 12 Punkt)

in für Inch (= 2.54 cm)

mm für Millimeter

cm für Zentimeter

em für elementeigene Schrifthöhe (relative Angabe)

ex für elementeigene Höhe des Buchstabens x (relative Angabe)

px für Pixel (relative Angabe wegen unterschiedlicher Bildschirmauflösung)

% für Prozent gegenüber Elementnorm (relative Angabe)


Seitenanfang


Dieses Dokument ist keine Publikation einer offiziellen Stelle. Das Dokument erhebt weder den Anspruch auf Vollständigkeit noch auf Fehlerfreiheit. Für Fehler in kommerziellen WWW-Seiten, die auf falsche oder falsch verstandene Beschreibungen in diesem Dokument zurückzuführen sind, übernimmt der Autor keine Haftung.

© 1997 Studio P.
eMail Paeng@thePentagon.com
Original: Stylesheets in HTML