CSS lernen – Tutorial, Tipps und Tricks
Cascading Style Sheets (CSS) ermöglicht einfaches Formatieren von Web-Inhalten. So ist es z.B. möglich mit einem Dokument 100 oder mehr Webseiten zu formatieren, ohne diese mit dem kompletten StyleSheet zu füllen. Dies bringt zum einen Platzersparnis (Speicherplatz) und zum anderen auch die Möglichkeit diese Formatierungen schnell ändern zu können, ohne in jede dieser 100 oder mehr Webseiten eingreifen zu müssen.
Notation
Die Notation von Cascading Style Sheets verhält sich etwas anders als etwa die von HTML, XHTML oder allgemein XML. Dabei ist darauf zu achten, dass Anweisungen richtig definiert werden, Verknüpfungen korrekt gesetzt werden und und und …
- Allgemein
- CSS und HTML
- CSS im Dokument
- CSS in einer externen Datei
- Anweisungen
- Elemente
- Elementtypen
- Blockelemente
- Fließende Elemente
- Listenelemente
- Inlineelemente
- Ersetzende Elemente
- Nichtersetzende Elemente
- Eigenschaften
- Werte
- Klassifizierungen
- Kommentare
Verknüfungen
Verknüpfungen verbinden zwei Elemente oder ein Element mit einem Attribut durch einen logischen Zusammenhang. Dies stellt eine (neue) Variante des Elements dar. Die Verknüpfung der beiden bezeichnet diese Variante. Dies lässt es zu, Elemente besser zu definieren. Dabei können z.B. bestimmte Elemente/Elementvarianten ein- oder ausgeschlossen werden.
Allgemein werden Verknüpfungen direkt an den Elementnamen notiert.
- Komma
- Punkt
- Raute
- Leerzeichen
- Stern
- Größer-Als
- Plus
- Attribute
- Attribut-Wert-Kombination
- Attribut-Wert-Auswahl
- Länderdefinition
- Verknüpfung von Verknüpfungen
Farbe und Hintergrundgestaltung
Die Gestaltung von Dokumenten und Seiten kann einerseits durch Farben (z.B. Textfarbe) und andererseits durch die Gestaltung des Hintergrundes weiter verfeinert und verbessert werden. Auch CSS unterstützt diese Formen der Gestaltung. Dazu wurden die folgenden Eigenschaften definiert:
- color
- background-attachment
- background-color
- background-image
- background-position
- background-position-x und background-position-y
- background-repeat
- background
Textgestaltung
Zur Textgestaltung gehören z.B. Wort- und Buchstabenabstand, aber auch Dekoration oder die Ausrichtung des Textes. Für die Textgestaltung sind dafür in CSS Level 1 die folgenden Eigenschaften gegeben:
- letter-spacing
- line-height
- text-align
- text-decoration
- text-indent
- text-transform
- vertical-align
- word-spacing
- direction
- text-shadow
- unicode-bidi
- white-space
Schriftgestaltung
In/Mit CSS und DHTML 4.0 wird darauf hin gearbeitet, dass die meisten Text- und Schriftformatierungen zukünftig nur noch bzw. größtenteils mit CSS gemacht werden. Dazu wurden in CSS Schrifteigenschaften definiert, mit denen die bekannten Elemente aus HTML wie etwa u (unterstrichen), b (fett) oder i (italic/kursiv) ersetzt werden können.
Regeln in CSS
In CSS gibt es verschiedene Regeln, die die Bedeutung sowie die Darstellung von Elementen und Dokumenten beeinflussen. In CSS Level 1 und Level 2 sind die folgenden Regeln beschrieben:
Box-Eigenschaften
CSS definiert für jedes Element des Element-Baumes eine Box. Vereinfacht vorgestellt könnte man sich diese Box wie ein Bild vorstellen. Das Element selbst ist das (gemalte) Bild. Um dieses Bild/Element herum wird (meist) ein Rahmen (engl. Border) gezogen. Zwischen Bild und Rahmen wird der Padding- oder Auffüllbereich gesetzt. Er dient z.B. dazu, dass der Rahmen nicht direkt am Bild “hängt”. Um den Rahmen wiederum wird Bereich definiert, der sich Margin- oder Begrenzungsbereich nennt. Er dient dazu, dass andere Bilder/Elemente einen gewissen Mindestabstand zu unserem Bild haben müssen.
- padding-top, padding-bottom, padding-left und padding-right
- padding
- margin-top, margin-bottom, margin-left und margin-right
- margin
- Berechnung von Außenabständen
Rahmeneigenschaften
Wie im Kapitel CSS – Box-Eigenschaften schon erwähnt gehört zu den Eigenschaften einer Box auch die Definition von Rahmen, welche diese Box umgeben.
- border-top-color, border-bottom-color, border-left-color und border-right-color
- border-color
- border-top-style, border-bottom-style, border-left-style und border-right-style
- border-style
- border-top-width, border-bottom-width, border-left-width und border-right-width
- border-width
- border-top, border-bottom, border-left und border-right
- border
Positionierung
Die Positionierung von Objekten ist eines der großen Anwendungsgebiete/-zwecke von CSS . Mit CSS lassen sich (fast) alle Elemente (fast) beliebig verteilen, darstellen und positionieren.
- clear
- display
- float
- height
- width
- clip
- min-height und max-height
- min-width und max-width
- top, bottom, left und right
- overflow
- overflow-x und overflow-y
- position
- visibility
- z-index
Pseudo-Klassen
Pseudo-Klassen sind Klassifizierungen, die einen Zustand oder eine Eigenschaft eines Elements beschreiben. Sie werden an den Elementnamen bzw. die vorhergehende Klassifizierung angehängt. In CSS Level 1 werden dabei 3 verschiedene Pseudo-Klassen beschrieben, die sich alle auf ein Element beziehen: A (Link/Anker).
In CSS Level 2 sind es dann schon 7.
Pseudo-Elemente
Pseudo-Elemente sind Klassifizierungen, die einen Teil eines Elements beschreiben. “Pseudo” heißen sie deshalb, weil es sich dabei nicht um ein “echtes”, also in derDTDdefiniertes, Element handelt. Sie werden an den Elementnamen bzw. die Klassifizierung angehängt. In CSS Level 1 werden dabei 2, in CSS Level 2 4 (2 weitere), beschrieben.
Tabellen
Zur Beschreibung von Tabellen sind auch in CSS Eigenschaften definiert. CSS Level 1 beschreibt noch keine Tabelleneigenschaften.
Aufrufe
In CSS gibt es verschiedene Aufrufe. Diese dienen meist dazu, Dinge ein zu gliedern oder besser zu bestimmen. In CSS Level 1 und Level 2 sind die folgenden Aufrufe beschrieben:
- @import-Aufruf (CSS 1)
- @import-Aufruf (CSS 2)
- @charset-Aufruf
- @font-face-Aufruf
- @media-Aufruf
- @page-Aufruf
Schriftdefinition
Seit CSS Level 2 ist es möglich eigene Schrifarten zu definieren, zu importieren und zu gestalten. Dazu werden die folgenden Aufrufe und Eigenschaften zur Verfügung gestellt:
- @font-face-Aufruf
- font-family, font-size, font-stretch, font-style, font-variant und font-weight
- unicode-range
- units-per-em
- src
Seitendefinition
In CSS Level 2 werden erstmals Eigenschaften sowie ein Aufruf zur Definition der Seite an sich beschrieben. Mit ihnen soll es möglich sein, beispielsweise einen Ausdruck des Dokuments genau zu beschreiben, um so bessere Resultat zu erzielen.
- @page-Aufruf
- marks
- page-break-after und page-break-before
- page-break-inside
- page
- orphans
- size
- widows
Benutzereigenschaften
In CSS (ab Level 2) sind auch einige Eigenschaften definiert, die die Benutzerschnittstellen (also weniger das Dokument an sich, als vielmehr mehr das Programm, mit dem es dargestellt wird) beschreiben und somit verändern können.
- cursor
- Konturen
- outline-color
- outline-style
- outline-width
- outline
- Scrollbars
- scrollbar-3dlight-color
- scrollbar-arrow-color
- scrollbar-base-color
- scrollbar-darkshadow-color
- scrollbar-face-color
- scrollbar-highlight-color
- scrollbar-shadow-color
Counter & Listen
In CSS werden neue Mechanismen zur Verfügung gestellt, die Aufzählungen deutlich anpassungsfähiger machen sollen. Dazu gehören zum einen die neu geschaffenen Counter (counter = engl. Zähler) bzw. Counter-Eigenschaften und zum anderen die Listen-Eigenschaften.
- counter()
- counter-increment
- counter-reset
- list-style-image
- list-style-position
- list-style-type
- list-style
- marker-offset
Aurale Gestaltung
CSS Level 2 definiert erstmals auch Eigenschaften die die aurale Wiedergabe eines Elements beschreiben. Diese Eigenschaften sollen z.B. von Sprach-Browsern verwendet werden um die Gestaltung von Texten durch akustische Effekte zu verbessern und somit dem Besucher vielleicht einen spannerenden oder interessanteren Inhalt zu bieten.
- azimuth
- elevation
- cue-after, cue-before und cue
- pause-after, pause-before und pause
- pitch
- pitch-range
- play-during
- richness
- speak
- speak-numeral
- speak-punctuation
- speech-rate
- stress
- voice-family
- volume
Inhaltserzeugung
Seit CSS Level 2 ist es möglich, Inhalt nachträglich in ein Element einfügen zu lassen, ohne dazu den Element-Quelltext verändern zu müssen. Das Ganze war/ist dazu gedacht, dass beispielsweise wiederkehrende Inhalte von Elementen (z.B. Anführungsstriche am Anfang und Ende eines Zitates) nur einmal definiert werden müssen/brauchen und dennoch bei allen Elementen zur Verfügung stehen.
Microsoft Layouteigenschaften
Microsoft hat für das Layout weitere Eigenschaften eingeführt, die nicht in einer der beiden CSS Spezifikationen enthalten sind.
- behavior
- filter
- ime-mode
- layout-grid-char und layout-grid-line
- layout-grid-mode
- layout-grid-type
- layout-grid
- zoom
Microsoft Texteigenschaften
Microsoft hat für die Gestaltung von Texten weitere Eigenschaften eingeführt, die nicht in einer der beiden CSS Spezifikationen enthalten sind. Diese Eigenschaften sind:
- line-break
- ruby-align
- ruby-overhang
- ruby-position
- text-autospace
- text-justify
- text-kashida-space
- text-underline-position
- word-break
- word-wrap
- writing-mode
- Umfrage: CSS oder Tabelle
- Standard CSS-Layouts (kostenlos)
- Wie man seinen Print-Stylesheet optimiert
- Flexibele Layouts mit CSS3 (Praxisbeispiel)