CSS I: Grundlagen

Gelesen bei AboutWebDesign.de
URL: http://www.aboutwebdesign.de/awd/content/975963293.shtml

Hintergrund



Denkt ein Web-Designer über HTML nach, fallen ihm sofort div. Inkompatibilitäten, verschiedene Browser und das Problem eines pixelgenauen Layouts ein. Der Grund dafür ist, dass der Web-Designer immer versucht, mit HTML das Aussehen seiner Dokumente zu beeinflussen. Dass das nicht wirklich funktionieren kann, ist klar: HTML wurde erfunden, um bestimmte Textstellen inhaltlich zu markieren, und nicht, um Seiten-Layouts zu gestalten.

Zum Glück für den Web-Designer gibt es CSS, die Cascading Style Sheets. Damit ist es endlich möglich, Layout-Angaben zu machen, die zumindest theoretisch von jedem Browser identisch interpretiert werden.

Theorie



Es gibt verschiedene Möglichkeiten, Style Sheets zu verwenden. Zunächst jedoch ein wenig Theorie. Mit CSS ist es möglich, Layout-Eigenschaften für

Definition



CSS-Definitionen kommen an drei verschiedenen Positionen vor: ausgelagert in einer externen Datei, im <style>-Abschnitt einer HTML-Datei oder direkt als Tag-Attribut. Logisch, dass sich letzteres dann nur auf das entsprechende Tag auswirkt.

... im style-Abschnitt



Will man eine Datei mit CSS-Definitionen einbinden, sieht das hinterher so aus:

<HTML>
<HEAD>
<STYLE type="text/css">
<!--
B { font-family: Verdana; font-color: green;}
-->
</STYLE>
</HEAD>


... in einer externen Datei



<HTML>
<HEAD>
<LINK rel="stylesheet" type="text/css" href="standard.css">
</HEAD>


Die Datei standard.css könnte dann z.B. das hier enthalten:

B { font-family: Verdana; font-color: green;}

... als Tag-Attribut



<b style="font-family: Verdana; font-color: green;">Irgendein Text</b>

Wie oben schon erwähnt, wirkt sich solch eine Definition nur auf das aktuelle Tag aus. Würde darunter z.B. ein anderes <b>-Tag stehen, hätte die aktuelle Definition keine Auswirkungen auf das untenstehende Tag.

Diese Form wird auch InLine-Notation genannt.

Synatx



CSS-Definitionen bestehen (fast) immer aus zwei Teilen: einem Identifier und den dahinter folgenden Layout-Anweisungen:

B { font-family: Verdana; font-color: green;}

B ist hier der Bezeichner, die geschweiften Klammern und das darin stehende definieren das Aussehen.

(Fast) immer aus zwei Teilen? Ja. Wenn CSS direkt als Tag-Attribut angegeben werden, fällt der Identifier weg, denn dann beziehen sich die Layout-Anweisungen immer aufs Tag.

Identifier



Will man ein Tag umdefinieren, nimmt man das Tag als Identifier. Beispiele:

B { font-family: Verdana; font-color: green;}
TD { font-family: Arial; font-color: black;}

Will man dagegen eine "allgemeingültige" Layout-Klasse erstellen, sucht man sich einen praktisch beliebigen Namen aus und stellt die Raute davor:

#gruen {font-color: green;}
#grossertext { font-size: 40pt;}

Und so verwendet man die Klasse bei einem Tag:

<b id="gruen">Das ist ein grüner Text!</b>
<b id="grossertext">Ein grosses A</b>


Zu guter Letzt auch noch die Identifier-lose Lösung:

<b style="font-color: green;">Das ist ein grüner Text!</b>

Nachfolgende Layout-Anweisungen



Die Layout-Anweisungen werden von geschweiften Klammern umschlossen, außer, man verwendet die InLine-Notation.

Wie an den bisherigen Beispielen gut ersichtlich, gibt man zuerst an, was man definieren möchte, dann folgt der Wert und abschließend ein Semikolon.

Ausblick



Sie wissen jetzt, wie CSS in der Theorie funktionieren. Allerdings wissen Sie nicht, welche Werte und Parameter in den Layout-Anweisen erlaubt sind. Darauf gehen wir sehr bald ein, im Artikel CSS II: Typographie.