Inhaltsverzeichnis
I Inhalt
I INHALT I
1 EINFÜHRUNG 1
1.1 ZIEL DER ARBEIT 1
1.2 AUFBAU DIESER ARBEIT 1
2 BROWSER UND CSS 1
3 CASCADING STYLE SHEETS - GRUNDLAGEN 2
3.1 TABELLEN ODER CASCADING STYLE SHEETS 2
3.2 SYNTAX VON CSS 5
3.3 SELEKTOREN VERWENDEN 6
3.3.1 Einfache Selektoren 6
3.3.2 Der Universelle Selektor 6
3.3.3 Klassenselektoren 7
3.3.4 ID Selektoren 7
3.3.5 Weitere Selektoren 7
3.4 FUNKTIONSWEISE VON CSS 7
3.5 EINBINDEN VON CSS IN HTML DOKUMENTE 10
3.5.1 Externe Style Sheets in HTML einbinden 10
3.5.2 Verwenden des STYLE-TAGS 11
3.5.3 Inline Stildefinitionen 13
3.6 VERERBUNG IN HTML 13
3.7 ZUSAMMENFASSUNG 14
4 MAßEINHEITEN UND WERTANGABEN 15
4.1 FARBANGABEN IN CSS 15
4.1.1 Angabe eines RGB Farbwertes 15
4.1.2 Angabe eines Hexadezimalen Farbwertes 16
4.2 LÄNGENEINHEITEN 16
4.2.1 Absolute Längeneinheiten 16
4.2.2 Relative Längeneinheiten 17
4.3 ZUSAMMENFASSUNG 17
5 CASCADING STYLE SHEETS - PRAKTISCHE ANWENDUNG 18
5.1 TEXTE FORMATIEREN 18
5.2 LAYOUT MIT CSS 20
6 ZUSAMMENFASSUNG 23
II ABBILDUNGSVERZEICHNIS 24
III TABELLENVERZEICHNIS 24
IV LITERATURVERZEICHNIS 25
A ANHANG - A REFERENZ WICHTIGER CSS EIGENSCHAFTEN 26
B ANHANG B - AT- REGELN 43
I
CSS Grundlagen
1 Einführung
1.1 Ziel der Arbeit
Ziel dieser Arbeit ist es, dem Leser einen Überblick über das Thema Cascading Style Sheets zu verschaffen. Diese Arbeit erhebt keinesfalls den Anspruch, vollständig oder erschöpfend zu sein, da der Umfang in keinem Fall ausreicht um das Thema Cascading Style Sheets umfassend zu behandeln. Sie soll dem interessierten Leser vertiefendes Material in Form von Internet - Links und Literaturhinweisen geben um das Thema selbst vertiefen zu können.
1.2 Aufbau dieser Arbeit
In Kapitel 1 erhält der Leser einen Überblick über die Ziele dieser Arbeit und über die geschichtliche Entwicklung von Cascading Style Sheets. Das 2. Kapitel stellt in einem kurzen Abriss dar, wie weit Cascading Style Sheets mit aktuellen und älteren Browsertypen und deren Versionen einsetzbar sind. Kapitel 3 befasst sich mit den Grundlagen von Cascading Style Sheets auf HTML Dokumente und zieht den Vergleich zu den Vorgehensweisen, die vor Cascading Style Sheets angewandt wurden. Im 4. Kapitel werden die Maßangaben innerhalb Cascading Style Sheets angesprochen und kurz erläutert. Im Kapitel 5 wird dann der praktische Einsatz von CSS erläutert. Im Anhang A befinden sich eine Kurzreferenz von Cascading Style Sheets.
2 Browser und CSS
Wenn CSS zum Layout von Webseiten verwendet werden soll, dann ist es sehr wichtig darauf zu achten, welcher Browser welche CSS Eigenschaften unterstützt. Da es hier große herstellerabhängige Unterschiede gibt ist es zwingend erforderlich, bei jedem Projekt die verwendeten Browser zu spezifizieren und sich dann zu vergewissern, welche CSS Eigenschaften verwendet werden dürfen. Die Extremwerte der CSS Unterstützung bilden an der unteren Grenze der Browser „Netscape Navigator 4.0“, welcher nur einen geringen Teil der CSS Eigenschaften unterstützt und diese meist falsch anzeigt. An der oberen Grenze ist der Browser „Opera 7.5+“ zu nennen, welcher nahezu alle Eigenschaften des CSS Standards 2.1 unterstützt. Ein Link zu einer aktuellen Website, die die Unterstützung der einzelnen Browser für CSS aufzeigt befindet sich im Literaturverzeichnis 1 .
1 Siehe http://www.css4you.de/browsercomp.html
- 1 -
CSS Grundlagen
3 Cascading Style Sheets - Grundlagen
Ziel dieses Kapitels ist es, dass dem Leser aufzuzeigen, wie der Einsatz von CSS die Verwaltung und Pflege von Webseiten erleichtert, wie Stildefinitionen in CSS Syntax verfasst werden, in welcher Art und Weise in CSS die korrekte Stildefinition ausgewählt wird und wie CSS Stildefinitionen in einem HTML Dokument eingebunden werden.
3.1 Tabellen oder Cascading Style Sheets
In den ersten Versionen von HTML war es nicht vorgesehen, Inhalte von Webseiten zu gestalten und zu strukturieren 2 . Dies änderte sich mit einem Mal, als der Webbrowser Mosaic auf den Markt kam. Mit dieser Software war es zum ersten Mal möglich, Seiten im World Wide Web grafisch anzuzeigen. Es kam sehr schnell zu der Situation, dass Autoren von Websites ein Layout für eine Seite erstellten und versuchten, dem Benutzer die Änderung des Layouts nicht zu ermöglichen. Vor dem Erscheinen von CSS 1.0 und auch noch lange danach, wurde ein Layout einer Seite mit stark verschachtelten Tabellen, transparenten GIF Bildern oder Frames realisiert. Wer schon einmal eine Website mit mehrfach verschachtelten Tabellen versucht hat zu ändern der wird schnell bemerken, dass es nicht sehr komfortabel, geschweige denn zweckmäßig ist. Das gleiche gilt für den Einsatz von Frames. Auch die Methode, transparente GIF Bilder im Text einzusetzen, um eine Art „Pseudo-Formatierung“ zu erhalten ist erstens mit sehr viel Aufwand verbunden und kann bei Änderungen noch mehr Anpassungsaufwand bedeuten. Um die Problematik zu verdeutlichen, ist in Tabelle 1 dargestellt, wie Websites mit Tabellen formatiert werden können:
2 Vgl. im folgenden Meyer, 2004, S. 1ff.
- 2 -
CSS Grundlagen
Abbildung 1 - Ergebnis der Formatierung mit Tabllen
Wie man sehen kann ist der Quelltext der Seite sehr Aufwändig, nur um das Bild an der gewünschten Stelle zu positionieren. Wenn Sich nun die Position des Bildes oder des Textes aufgrund von Kundenforderungen ändert, dann muss im Quellcode die richtige Stelle gefunden werden, an der geändert werden muss.
Wie aus Tabelle 1 ersichtlich ist, war diese Art der Formatierung von Webseiten nicht trivial und erst recht nicht leicht zu handhaben. Mit dem Einsatz von CSS vereinfachte sich der Quelltext von Webseiten drastisch, wie in Tabelle 2 ersichtlich ist.
- 3 -
Durch die Verwendung des STYLE-Tags können Eigenschaften und Formatierungen von HTML Tags verändert werden. Wie man in Tabelle 1 sehen kann, ist der Quellcode der Webseite mit demselben Inhalt von 26 auf 9 Zeilen geschrumpft, das Ergebnis ist allerdings dasselbe. Wenn man Tabelle 1 mit Tabelle 2 vergleicht wird jedem, der schon einmal eine Webseite entworfen hat, klar, dass der Einsatz von CSS das Ändern und Anpassen der Seite in Hohem Maß vereinfacht
- 4 -
CSS Grundlagen
3.2 Syntax von CSS
Um CSS Stildefinitionen einsetzen zu können, wird in diesem Kapitel umfassend beschrieben, wie sich die Syntax einer Stildefinition aufbaut 3 . Ein Style Sheet besteht aus mehreren Stildefinitionen. Eine Stildefinition besteht aus zwei wesentlichen Teilen, dem Selektor und dem Deklarationsblock. Ein Deklarationsblock wiederum besteht aus mehreren Deklarationen. Eine Deklaration besteht aus einer Eigenschaft und einem dazugehörigen Wert.
Abbildung 3 - Syntax von Stildefinitionen
Quelle: Vgl. Meyer, 2005, S. 26
Der Selektor gibt an, auf welches Element des HTML-Dokumentes sich diese Stildefinition bezieht. In diesem Fall wären alle Elemente des Typs
Hierbei gilt die mit Leerzeichen getrennte Liste der so genannten Schlüsselwörter als ein Wert. Das Leerzeichen und nur genau ein Leerzeichen ist für den Browser wichtig, dass er die beiden Schlüsselwörter „medium“ und „Verdana“ als Wert zusammensetzen kann. Wenn man für mehrere HTML-Elemente dieselbe Eigenschaft mit demselben Wert belegen will, dann sieht die Stildefinition wie folgt aus:
3
Vgl. im folgenden Meyer, 2005, S. 25 ff.
- 5 -
CSS Grundlagen
h1, h2, h3, h4, p {color: red;}
Diese Stildefinition bewirkt, dass alle HTML-Elemente, die durch Komma getrennt vor der Deklaration stehen, die Farbe Rot zugewiesen bekommen. Wichtig in diesem Zusammenhang ist, dass ein Browser nur gültige, also syntaktisch korrekte Stildefinitionen verarbeitet. Wird beim schreiben einer Stildefinition ein Semikolon zwischen zwei Deklarationen vergessen, dann ist es wahrscheinlich, dass keine der beiden Deklarationen auf das HTML-Element im Selektor angewendet wird.
3.3 Selektoren verwenden
In CSS gibt es verschiedene Arten von Selektoren. Im Folgenden werden die Selektoren kurz vorgestellt und deren Auswirkungen kurz umrissen.
3.3.1 Einfache Selektoren
Einfache Selektoren sind Selektoren
4
, die aus einem normalen HTML Element oder einer Gruppierung von HTML Elementen bestehen. Einfache Selektoren bewirken, dass die Deklarationen, die hinter diesem Selektor stehen, für alle HTML Elemente im Dokument gültig sind, sofern die Syntax der Stildefinition korrekt ist. Die Stildefinition
p, h1, em, h2 {background: blue;}
würde bewirken, dass alle HTML Elemente vom Typ p, h1, em, und h2 mit einem blauen Hintergrund hinterlegt werden. Diese Art der Stildefinition ist relativ leicht zu handhaben, kann allerdings bei großen Websites durchaus zu unerwünschten Ergebnissen führen.
3.3.2 Der Universelle Selektor
Dieser Selektor wurde mit CSS 2 eingeführt und bewirkt, dass sich die Stildefinition auf alle HTML Elemente des Dokuments auswirkt
5
. Die Stildefinition
* {color: yellow;}
würde bewirken, dass alle HTML Elemente im Dokument als Vordergrundfarbe die Farbe Gelb zugewiesen bekommen würden. Dieser Selektor ist mit Bedacht einzusetzen, da er gänzlich Unerwartete Folgen für das Dokument und die Website haben kann.
4
Vgl. im folgenden Meyer, S. 27, ff.
5
Vgl. im folgenden Shafer, Yank, S. 48
- 6 -
CSS Grundlagen
3.3.3 Klassenselektoren
In HTML besteht die Möglichkeit, jedem Element eine Klasse zuzuweisen. Dies geschieht über das Attribut „class“. CSS kann sich diese Einteilung mithilfe der Klassenselektoren
6
zunutze machen. Eine Stildefinition mit einem Klassenselektor bewirkt, dass diese auf alle HTML Elemente der selektierten Klasse angewandt werden. Die Stildefinition
p.headline {font-weight: bold;}
würde bewirken, dass alle Elemente der Klasse „headline“ in Fettdruck dargestellt werden. Dieser Selektor ist einer der am meisten eingesetzten, da sich verschiedene Teile des HTML Dokuments unterschiedlich Formatieren lassen.
3.3.4 ID Selektoren
Eine weitere Möglichkeit um in HTML Elemente voneinander unterscheidbar zu machen ist die Vergabe von IDs. Auch diese IDs können über einen Selektor angesprochen werden, dem ID Selektor. Die Stildefinition
p#firstheadline {font-weight: bolder;}
würde bewirken, dass das Element mit der ID „firstheadline“ in starkem Fettdruck dargestellt wird. Auch dieser Selektor ist sehr weit verbreitet um spezielle Elemente in HTML Dokumenten zu formatieren.
3.3.5 Weitere Selektoren
In CSS sind noch einige andere Selektoren definiert. Die Beschreibung dieser würde allerdings den Rahmen dieser Arbeit sprengen.
3.4 Funktionsweise von CSS
Wie in Kapitel 1.1 erwähnt bedeuten die Buchstaben CSS die Worte Cascading Style Sheets. Im folgenden Kapitel soll verdeutlicht werden, wie Stildefinitionen verarbeitet werden. Der zentrale Begriff in diesem Kapitel ist die Spezifität einer Stildefinition. Die Spezifität wird vom Browser des Benutzers benötigt, um zu entscheiden, welche Stildefinition anzuwenden ist. Die folgenden Kaskadierungsregeln nach Meyer (2005 S.75)
7
werden dazu benötigt:
1. „Finde alle Deklarationen, die einen Selektor enthalten, der auf ein gegebenes Element passt
2. Sortiere alle auf das Element bezogenen Deklarationen nach Spezifität. Mit !important markierte Regeln enthalten eine höhere Gewichtung gegenüber
6
Vgl. im folgenden Meyer, 2005, S. 34 ff.
7
Meyer, 2005, S. 75
- 7 -
CSS Grundlagen
unmarkierten. Sortiere außerdem alle Deklarationen, die sich auf ein bestimmtes Element beziehen, nach ihrer Herkunft. Es gibt drei mögliche Arten der Herkunft: Autor, Leser und User Agent. Unter normalen Umständen haben Stildefinitionen des Autors gegenüber denen des Lesers Vorrang. Mit !important markierte Stile des Lesers haben ein höheres Gewicht als alle anderen Stildefinitionen, inklusive der mit !important markierten Definitionen des Autors. Sowohl die Stilvorgaben des Autors, als auch des Lesers überschreiben die Standardstile des User Agents.
3. Sortiere alle Deklarationen für ein Bestimmtes Element nach Ihrer Spezifität. Elemente mit einer höheren Spezifität erhalten gegenüber Elementen geringerer Spezifität mehr Gewicht
4. Sortiere alle Deklarationen für ein bestimmtes Element nach Ihrer Reihenfolge. Je später eine Deklaration in einem Style Sheet oder Dokument erscheint, desto mehr Gewicht wird ihr verliehen.“
Um die Funktionsweise dieser doch sehr theoretischen Regeln zu verdeutlichen folgen nun für die Regeln 2-4 jeweils Beispiele.
2. Regel:
Folgende Stildefinitionen sind gegeben:
p {color: gray !important}
Hallo werter Leser
In diesem Fall wird die der Text innerhalb eines -Elements grau eingefärbt, da diese Stildefinition als !important markiert wurde. Des weiteren wird diese Stildefinition an das -Element vererbt und somit der gesamte Absatz grau eingefärbt. Anders sieht es aus, wenn folgende Stildefinitionen vorliegen:
- 8 -
Arbeit zitieren:
Fabian Schneider, 2005, Eine Einführung in CSS, München, GRIN Verlag GmbH
Dieser Text kann über folgende URL aufgerufen und zitiert werden:
Einbetten
DOI
Ethernet - Ein Überblick über den Netzwerkstandard
Informatik - Technische Informatik
Seminararbeit, 26 Seiten
Formatvorlage (Microsoft Word) für eine Diplomarbeit, Masterarbeit, Ha...
Für MS Word 2003 - Update 2010
Vorlagen, Muster, Formulare, Infobroschüren
Ausarbeitung, 25 Seiten
Formatvorlage (OpenOffice) für eine Diplomarbeit, Masterarbeit, Hausar...
Vorlagen, Muster, Formulare, Infobroschüren
Ausarbeitung, 35 Seiten
Formatvorlage / Vorlage zur Erstellung einer Diplomarbeit, Bachelorarb...
Vorlagen, Muster, Formulare, Infobroschüren
Ausarbeitung, 15 Seiten
Formatvorlage / Vorlage für eine Diplomarbeit / Hausarbeit
Für MS Word 2007 - dotx
Vorlagen, Muster, Formulare, Infobroschüren
Ausarbeitung, 25 Seiten
Anleitung zum Erstellen schriftlicher Arbeiten: Der Aufbau einer wisse...
Vorlagen, Muster, Formulare, Infobroschüren
Ausarbeitung, 20 Seiten
Erstellen einer schriftlichen Hausarbeit
Vorlagen, Muster, Formulare, Infobroschüren
Hausarbeit, 14 Seiten
Grundtechniken wissenschaftlichen Arbeitens
Bibliografieren - Reden - Schr...
Vorlagen, Muster, Formulare, Infobroschüren
Skript, 46 Seiten
Ratgeber zur Erstellung wissenschaftlicher Arbeiten. Diplomarbeiten - ...
Vorlagen, Muster, Formulare, Infobroschüren
Ausarbeitung, 39 Seiten
Fabian Schneider hat den Text Eine Einführung in CSS veröffentlicht
Fabian Schneider hat einen neuen Text hochgeladen
HTML and CSS Web Standards Solutions: A Web Standardistas' Approach
Christopher Murphy, Nicklas Persson
Web Standards Creativity: Innovations in Web Design with XHTML, CSS, a...
Cameron Adams, Mark Boulton, Andy Clarke
0 Kommentare