Webtechnologien Teil 4: Cascading Style Sheets (CSS)

Werbung
Webtechnologien
Teil 4: Cascading Style Sheets (CSS) - Teil I
Webtechnologien – SS 2017 - Teil 4/CSS I
15.04.17 1
Literatur
[4-1]
Meyer, Eric: CSS kurz&gut. O'Reilly, 4. Auflage, 2011
[4-2]
Laborenz, Kai: CSS-Praxis. Galileo Computing, 2003
[4-3]
Münz, Stefan: <Professionelle Websites>. Addison-Wesley, 2005
[4-4]
Lubkowitz, Mark: Webseiten programmieren und gestalten. Galileo
Computing, 2003
[4-5]
Seibert, Björn; Hoffmann, Manuela: Professionelles Webdesign mit
(X)HTML und CSS. 2. Auflage, Galileo Computing, 2008
[4-6] http://de.wikipedia.org/wiki/Cascading_Style_Sheets
[4-7] http://www.edition-w3.de/TR/1998/REC-CSS2-19980512/
[4-8] http://caniuse.com/
[4-9] http://de.wikipedia.org/wiki/Sass_(Stylesheet-Sprache)
[4-10] http://de.wikipedia.org/wiki/LESS_(Stylesheet-Sprache)
[4-11] http://de.wikipedia.org/wiki/Stylus_(Stylesheet-Sprache)
Webtechnologien – SS 2017 - Teil 4/CSS I
2
Überblick
•
•
•
•
Grundlagen
Selektoren
Klassen und Unterklassen
Vererbung und Prioritäten
Webtechnologien – SS 2017 - Teil 4/CSS I
3
Cascading Style Sheets
• Cascading Style Sheets (CSS) = Sprache zum Definieren des
Layouts von Auszeichnungen
• Mit CSS wird die Präsentation von Auszeichnungen festgelegt.
• Das Ziel von CSS besteht in der Möglichkeit Layout-Attribute von
Tags an einer zentralen Stelle, aber auch direkt bei den
betreffenden Tags zu setzen.
Webtechnologien – SS 2017 - Teil 4/CSS I
4
Geschichte I
Version
Erscheinung
Erläuterungen
CSS Level 1
1996
Umfang: ca. 76 Seiten
Themen: Textgestaltung und Farben
http://www.w3.org/TR/CSS1/
CSS Level 2
1998
Umfang: ca. 340 Seiten
Themen: Erweiterung von CSS1,
Ausrichtung auf Medien
http://www.w3.org/TR/CSS2/
CSS Level 2.1
2011
Aktuelle Version
CSS Level 3
Webtechnologien – SS 2017 - Teil 4/CSS I
nicht vollständig implementiert
http://www.w3.org/TR/selectors/
5
Geschichte II - Bemerkungen
• Da CSS nachträglich in HTML eingebaut wurde, gibt es starke
syntaktische Inkonsistenzen. Syntaktisch gesehen ist CSS eher ein
aufgesetzter Fremdkörper als etwas Integriertes.
• Einiges bei CSS ist nur vor dem geschichtlichen Hintergrund des
Webs zu verstehen.
Bei CSS kommt es auf Groß-/Kleinschreibung an
Aber: Dies ist bei CSS nicht immer korrekt implementiert.
Die aktuellen Browser implementieren CSS1 gut, CSS2
mehr oder weniger korrekt und CSS3 nur teilweise.
Webtechnologien – SS 2017 - Teil 4/CSS I
6
Prüfprogramme und weitere Informationen
• Kompatibilitätslisten:
http://www.css4you.de/browsercomp.html
http://www.webstandards.org
http://www.quirksmode.org
• Prüfprogramme:
http://htmlhelp.com/tools/csscheck/
http://htmlhelp.com/tools/csscheck/upload.html
http://jigsaw.w3.org/css-validator/
• Vertiefung:
http://csszengarden.com
http://www.mezzoblue.com/css/cribsheet
Webtechnologien – SS 2017 - Teil 4/CSS I
7
Gruppen von Tags bzw. Elementen
• Block-Elemente (block level elements):
Text beginnt immer in einer neuen Zeile
Diese Elemente werden in Rechtecken (Boxen) präsentiert.
Beispiele: h1..h6, p, div, ul, ol
• Eingebundene Elemente (inline elements):
Elemente sind Teile von Blöcken
Beispiele: a, span, br, img
• Listenelemente
Dies sind Blockelemente mit damit verbundenen weiteren
Bereichen (der Spiegelpunkt oder die Nummer)
Hier gibt es nur ein Tag: li
• Element =
– Aus HTML-Sicht: Tag mit seinen Eigenschaften
– Aus Präsentationssicht: Ein Bereich des dargestellten Dokuments
Webtechnologien – SS 2017 - Teil 4/CSS I
8
Syntax I
Selector { Attribut: Wert; ... }
Deklaration
Als Selektoren können Tagnamen, Identifier oder Ausdrücke
verwendet werden.
Den selektierten Elementen werden die angegebenen Attribute
zugeordnet. Es sind mit Semikola aufgebaute Listen zulässig.
Bei Angaben direkt am Tag:
<Tag style=" Attribut : Wert ; ..." ...>
Deklaration
Webtechnologien – SS 2017 - Teil 4/CSS I
Nicht gut!
Besser in extra
Datei.
9
Syntax II
• Die Festlegungen beziehen sich
– auf ein neues später definierbares Element,
– auf ein bestehendes Element, das verändert werden soll,
– auf mehrere bestehende Elemente, die auf dieselbe Weise
verändert werden sollen.
Daher wird von Selektoren (to select: auswählen) gesprochen.
In gewisser Weise erfolgt dies analog zum SQL-SELECTStatement.
• Eine Ausnahme bilden einige Kommandos, die mit einem
Klammeraffen ("@") eingeleitet werden; diese gehorchen nicht
der oben angegebenen Syntax.
• CSS-Kommentare haben nur die Form: /* .... */
•
Webtechnologien – SS 2017 - Teil 4/CSS I
10
Element-Selektoren
Tag { Att1: Val1; Att2: Val2; ... }
Tag1, Tag2, Tag3, ... { Att1: Val1; Att2: Val2; ... }
Die Liste der Attribute Attx:Valx wird dem einzelnen Tag oder der
Liste der Tags Tag1, Tag2, Tag3, ... zugeordnet.
Beispiele:
h1 {color: black;}
h2 {color: black;}
h3 {color: black;}
h1, h2, h3 {color: black;}
Webtechnologien – SS 2017 - Teil 4/CSS I
11
Kontextabhängige Selektoren I
Tag1 Tag2 { Att1: Val1; Att2: Val2; ... }
Im Bereich des Wirkens (Kontext) von Tag1 erhält Tag2 die angegebenen
Attribute.
Tag1 Tag2 Tag3 { Att1: Val1; Att2: Val2; ... }
Im Bereich des Kontext von Tag1 geschachtelt mit Tag2 erhält Tag3 die
angegebenen Attribute.
Tag1 Tag2 Tag3 ... { Att1: Val1; Att2: Val2; ... }
Verallgemeinerung auf beliebig tief geschachtelte Kontexte
Der Kontext ist die direkte oder indirekte Schachtelung im Sinne eines
geschachtelten Umfassens.
Webtechnologien – SS 2017 - Teil 4/CSS I
12
Kontextabhängige Selektoren II - Beispiele
h1 {color: black;}
i {color: red;}
bedeutet, dass die Schriftfarbe jeder h1-Überschrift schwarz ist und
dass alle kursiven Auszeichnungen rot sind,
h1 i {color: blue;}
bedeutet, dass die kursiven Teile innerhalb einer h1-Überschrift blau sind.
li a {color: grey;}
bedeutet, dass die Links innerhalb einer Liste grau sind.
ol li a {color: grey;}
bedeutet, dass die Links innerhalb einer verschachtelten Liste grau sind.
Webtechnologien – SS 2017 - Teil 4/CSS I
13
Klassen I
• Jedes Tag wird als Menge von veränderbaren Attributen
aufgefasst.
• Klasse = Menge der veränderbaren Attribute
• Neue Klassen werden dadurch gebildet, dass von einer
bestehenden Klasse (Tag) die Attribute übernommen (vererbt)
werden, bis auf die, die neue Werte erhalten.
• Vererbung = Übernahme und Ersetzen von Attributen
• Aber: Nicht alle Attribute werden vererbt(!)
p {color: red;}
Die Attribute von <p> werden übernommen und gleichzeitig das Attribut
der Schriftfarbe auf rot gesetzt. Das sind dann die Attribute des neuen <p>.
Webtechnologien – SS 2017 - Teil 4/CSS I
14
Klassen II
• Pseudo-Klasse = Klasse, die nur unter bestimmten Bedingungen
zur Laufzeit (Zustand) angewendet wird oder die sich auf einen
Block von Informationen bezieht
Beispiel: Anker-Pseudo-Klasse
a:link {color: red;}
Einem A-Tag können damit abhängig vom Zustand (link, visited
etc.) unterschiedliche Attribute zugeordnet werden.
Dieses Beispiel bezieht sich auf den Zustand.
• Die Pseudo-Klasse, die in der Praxis am häufigsten benutzt wird,
sind die Pseudoklassen für Interaktionen,
:link, :active etc. sind Beispiele dafür.
Webtechnologien – SS 2017 - Teil 4/CSS I
15
Klassen III
• Pseudo-Element = Auswahl (Selector) eines Textteiles oder
Veranlassung einer Änderung des Textes
Beispiele:
:first-line
:first-letter
für die erste Zeile eines Absatzes
für den ersten Buchstaben einer Zeile
• In HTML fehlen dafür die Ausdrucksmöglichkeiten, so dass mit
dieser syntaktischen Konstruktion Abhilfe geschafft wurde.
Webtechnologien – SS 2017 - Teil 4/CSS I
16
Übersicht Pseudoklassen/Elemente (Auszug)
Interaktion
Absätze
Sprache
Neuer Inhalt
:link
:first-line
:lang
:before
:visited
:first-letter
:after
:focus
:hover
:active
• Die markierten Pseudoklassen werden später beschrieben.
• Die Pseudo-Elemente sind fett dargestellt.
• Die Pseudo-Klasse in normaler Schrift.
Webtechnologien – SS 2017 - Teil 4/CSS I
17
Klassen-Selektoren I
Es können auch eigene Klassen definiert werden, die aber
nur als Attribute und nicht als eigenständige Tags innerhalb von
<...> verwendet werden:
.Klasse { Att1: Val1; Att2: Val2; ... }
Klassendefinitionen beginnen immer mit einem Punkt und definieren
den Bezeichner Klasse mit seinen Attributen.
Beispiel:
.Strong {color: red; font-weight: bold; }
...
<p class="Strong"> ... Text ... </p>
Nur mit dem Attribut class lassen sich diese Klassen benutzen.
Webtechnologien – SS 2017 - Teil 4/CSS I
18
Klassen-Selektoren II - Unterklassen
Basierend auf einer Klasse lassen sich Unterklassen definieren,
wobei die Attribute der Oberklasse vererbt sowie die angegebenen
Attribute gesetzt werden. Dies geht nur einstufig.
Tag.Klasse { Att1: Val1; Att2: Val2; ... }
Unterklassendefinitionen beginnen mit einem Tag gefolgt von einem
Punkt und definieren den Namen Klasse mit den Attributen.
Beispiel:
p.definition {color: blue; font-weight: bold; }
...
<p class="definition"> ... Text ... </p>
Mit dem Attribut class lassen sich die Unterklassen benutzen.
Webtechnologien – SS 2017 - Teil 4/CSS I
19
Klassen-Selektoren III – Mehrere Klassen
Layer-Definition:
CSS-Definitionen:
<div class="navigation important">
...
</div>
.navigation {
border : 1px;
color : brown;
}
.important {
font-weight : bold;
}
Es können auch mehrere Klassen gleichzeitig benutzt werden.
Webtechnologien – SS 2017 - Teil 4/CSS I
20
ID-Selektoren I
ID-Selektoren beginnen immer mit einem #:
#id { Att1: Val1; Att2: Val2; ... }
ID-Selektoren haben eine globale Gültigkeit und
benennen eindeutig bestimmte Elemente.
IDs werden typischerweise in Klammerkonstrukten (<div>, <span>)
benutzt.
Beispiel:
#wichtig {color: red; font-weight: bold; }
...
<div id="wichtig"> ... Text ... </div>
Mit dem Attribut id lassen sich diese Identifier benutzen.
Webtechnologien – SS 2017 - Teil 4/CSS I
21
ID-Selektoren II - Beispiel
Layer-Definition:
CSS-Definition:
<div id=“navigation“>
...
</div>
div#navigation {
border : 1px;
color : brown;
}
Webtechnologien – SS 2017 - Teil 4/CSS I
22
Merkregel
• Klassen dienen der systematischen Festlegung des Layouts an
mehreren Stellen.
• Identifier (id) dienen dazu, das Layout an einer einzigen Stelle
gezielt zu definieren (bei <div> üblich).
• Merkregel:
Wenn Layout-Attribute mehrfach verwendet werden oder wenn
sie systematisch für die Seite bzw. Site sind, dann verwende
Klassen bzw. Unterklassen.
Wenn Layout-Attribute sich auf einen einzigen, bestimmten
Bereich beziehen, dann verwende Identifier (IDs).
Webtechnologien – SS 2017 - Teil 4/CSS I
23
<div> und <span>
• <div> ... </div> definiert ein Rechteck innerhalb der Seite und
ist daher ein Blockelement.
• <span> ... </span> definiert einen Teilbereich innerhalb eines
Texts und ist daher ein Inline-Element.
• Alle Attribute an <div> und <span> werden in den
eingeklammerten Bereich hinein vererbt.
• Ohne Attribute haben <div> und <span> keine Bedeutung,
außer dass sie einen eigenen geschachtelten Teilbaum bilden.
• Daher sollten <div>/<span>-Bereiche mit folgenden
Konstrukten verwendet werden:
<div id="Name"
> … </div>
<div class="Name"> … </div>
Text… <span style="CSS-Sachen"> Text… </span> Text…
Webtechnologien – SS 2017 - Teil 4/CSS I
24
Selektoren in der Schachtelung
• Analog zu dem Kontext-Selektor lassen sich Attribute
definieren, die nur bei einer bestimmten Schachtelung gelten
sollen.
• Für den Operator > gilt: Es werden alle Tags Tag2 ausgewählt,
die direkt von Tag1 erben bzw. ein direktes Kind von Tag1
sind.
Tag1 > Tag2 { Att1: Val1; Att2: Val2; ... }
Die Attributliste gilt für Tag2 nur dann, wenn es ein direktes
Kind in der Benutzung von Tag1 ist, aber kein Enkel etc.
Webtechnologien – SS 2017 - Teil 4/CSS I
25
Beispiel
body p { color: black; }
body>p { color: blue; }
...
<body>
<p>Dies ist der erste Absatz. Er ist ein Kind von body.</p>
<div>
<p>Dieser Absatz ein Kind von div</p>
</div>
<p>Dieser Absatz ist wieder ein direktes Kind von body.</p>
Ergibt
Die direkten Kinder haben eine blaue
Schriftfarbe, das Kind von
div (ein indirektes Kind von body)
hat eine schwarze Schriftfarbe.
Webtechnologien – SS 2017 - Teil 4/CSS I
26
Visualisierung des Baums
Erstellt mit
http://bioub.github.io/d3.DOMVisualizer/
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title></title>
<style>
body p { color: black; }
body > p { color: blue; }
</style>
</head>
<body>
<p>Dies ist der erste Absatz. Er ist ein Kind von body.</p>
<div>
<p>Dieser Absatz ein Kind von div</p>
</div>
<p>Dieser Absatz ist wieder ein direktes Kind von body.</p>
</body>
</html>
Webtechnologien – SS 2017 - Teil 4/CSS I
Die viele Text-Knoten entstehen
durch das Einrücken und durch
die Zeilenenden.
27
Zwei Vererbungshierarchien I
Es gibt zwei Vererbungshierarchien zur Bestimmung der Attribute:
1. Vererbung bei der Definition
Diese erfolgt durch Angabe der Vererbung in der Definition
Beispiel: p.definition {....}
2. Vererbung durch Schachtelung
Durch Schachtelung der Wirkungsbereiche werden Attribute vererbt.
Die Ausgabe am Ende wird durch die gültigen Attribute bestimmt.
Diese entstehen durch die Mischung beider Hierarchien.
Webtechnologien – SS 2017 - Teil 4/CSS I
28
Zwei Vererbungshierarchien II
html
Jedes HTML-Dokument wird intern als
Baum realisiert. Dieser Baum spiegelt die
geschachtelte Benutzung der Tags wieder.
head
Dies hier ist der verkürzte Baum des letzten
Beispiels.
body
p
div
p
p
Webtechnologien – SS 2017 - Teil 4/CSS I
Vererbt wird immer von der Wurzel in die
Blätter.
29
Folge-Element-Selektoren (Nachbar-Selektion)
Wenn direkt benachbarte Geschwister-Elemente behandelt werden sollen,
ist der Folge-Element-Selektor + nötig:
Tag1 + Tag2 { Att1: Val1; Att2: Val2; ... }
Die Attributliste gilt für Tag2 nur dann, wenn es ein SchwesterElement in der Benutzung von Tag1 ist und lexikalisch direkt als
nächstes hinter Tag1 vorkommt.
Beispiel:
h1 + p {margin-left: -10px;}
Der Absatz unmittelbar hinter der Überschrift h1 wird um 10 Pixel nach
links eingerückt.
li + li {color: red;}
Das 2., 3. etc. Element einer Liste ist rot.
Webtechnologien – SS 2017 - Teil 4/CSS I
30
Selektion anhand von Attributen I
Wenn etwas für alle Tags, die bestimmte Attribute haben, geändert
werden soll, dann stehen für die Auswahl folgende Selektoren
zur Verfügung, z.B.:
[Attribut]:
Selektiert alle Tags mit dem Attribut Attribut
z. B. a[href] wählt alle Links, aber keine Anker
[Attribut=Val]:
Selektiert alle Tags mit dem Attributwert Att=Val
[Attribut~=Val]:
Selektiert alle Tags mit dem Attributwert Att=Val, wobei Val
als einziges Wort im Attributwert vorkommt
[Attribut|=Val]:
Selektiert alle Tags mit dem Attributwert Att=Val, wobei Val
einen Bindestrich hat z. B. in lang="en-US"
[Attribut^=Val]:
Selektiert alle Tags mit dem Attributwert, der mit Val beginnt
Webtechnologien – SS 2017 - Teil 4/CSS I
31
Selektion anhand von Attributen II - Beispiel
a[href^="mailto:"]:before {content: "\2709";}
•
•
•
Bei jedem Anker (<a>-Element) wird vorher das Zeichen \2709
eingefügt, falls die href-Adresse mit "mailto:" beginnt.
Das Zeichen \2709 ist ein kleines Briefsymbol.
Die Funktionsweise wird später an einem Beispiel gezeigt.
Siehe: http://www.w3.org/TR/css3-selectors/#attribute-substrings
Webtechnologien – SS 2017 - Teil 4/CSS I
32
Selektion anhand von Attributen III
Für Tabellen gibt es Sonderformen:
Konstrukt
Erläuterung
table:row[Reihe]
Es werden die Attribute der Reihe mit der
Nummer Reihe zugewiesen
table:column[Spalte]
Es werden die Attribute der Spalte mit der
Nummer Spalte zugewiesen
table:row[%NR]
Die Attribute werden jeder NR-ten Reihe
zugewiesen; geht auch für Spalten
table:row[%NR+Begin]
Die Attribute werden jeder NR-ten ab der
Begin-ten Reihe zugewiesen;
gilt auch für Spalten
Webtechnologien – SS 2017 - Teil 4/CSS I
33
Universal-Selektor
Um einen beliebigen Kontext anzugeben, wird der Stern benutzt: "*":
Tag1 * Tag2 { Att1: Val1; Att2: Val2; ... }
Wenn zwischen Tag1 und Tag2 ein einziges beliebiges Element steht,
dann wird die Attribut-Liste auf Tag2 angewendet.
Der Stern kann auch als Platzhalter allein verwendet werden, z.B. in
"* {color: black;}". Dies bedeutet, dass jede Schriftfarbe schwarz sein
soll.
Webtechnologien – SS 2017 - Teil 4/CSS I
34
Beispiel für Universal-Selektor
body p { color: blue; }
body * p {color: red; }
...
<body>
<p>Farbe: blue</p>
<div>
<p> Farbe: red </p>
</div>
<p>Farbe: blue </p>
Ergibt
Webtechnologien – SS 2017 - Teil 4/CSS I
35
Orte für CSS - Kopf
• Die Style-Angaben können innerhalb des Kopfs stehen;
sie gelten dann für die gesamte Datei:
<head>
...
<style type="text/css">
... Definitionen ...
</style>
</head>
Webtechnologien – SS 2017 - Teil 4/CSS I
36
Globale Struktur einer Seite - Zusammenfassung
<!DOCTYPE html PUBLIC TYP>
<html ... >
<head>
<title>...</title>
<meta ....=.…/>
...
<style type="text/css">
... Definitionen ...
</style>
</head>
<body>
...
</body>
</html>
Webtechnologien – SS 2017 - Teil 4/CSS I
37
Orte für CSS - Externe Datei I
•
<head>
...
<link rel="stylesheet" type="text/css" href=“URL“>
...
</head>
• Die CSS-Datei enthält die CSS-Definitionen wie sie wie im Kopf
(siehe oben) festgelegt wären.
Webtechnologien – SS 2017 - Teil 4/CSS I
38
Orte für CSS - Externe Datei II
Alternative CSS-Definitionen:
Persistent (wird immer angewendet):
<link rel="stylesheet" type="text/css" href=“URL“ />
Bevorzugt:
<link rel="stylesheet" type="text/css" href=“URL“ title=“Titel“/>
Alternativ:
<link rel="alternate stylesheet" type="text/css" href=“URL“ title=“Titel“>
• Der Benutzer hat die Wahl zwischen den CSS-Definitionen, die
alle für dasselbe Medium gelten.
• Anwendungen:
– Kontrastverstärkung
– Varianten für Smartphones oder Tabletts
Webtechnologien – SS 2017 - Teil 4/CSS I
39
Orte für CSS - Externe Datei III
• Medienspezifische CSS-Definitionen werden durch das Attribut
media festgelegt.
• Beispiele:
Vorlesegeräte
<link rel="stylesheet" type="text/css" media="aural" href=“URL“>
Drucker
<link rel="stylesheet" type="text/css" media="printer" href=“URL“>
Beamer
<link rel="stylesheet" type="text/css" media="projection" href=“URL“>
Webtechnologien – SS 2017 - Teil 4/CSS I
40
Orte für CSS - Externe Datei IV
Möglichkeiten für Geräte
aural
Vorlesegeräte
braille
Blindenschriftausgabegeräte
embossed
Blindenschriftdrucker
handheld
Smartphones, Tablets
print
Drucker
projection
Beamer
screen
Bildschirme, LCD
Webtechnologien – SS 2017 - Teil 4/CSS I
41
Orte für CSS - Direkt am Tag
Änderungen des Stils lassen sich auch im Tag durch
das Attribut style angeben:
<Tag style="Definitionen ..." >
Beispiel:
<p style="color: black; background-color: yellow;" ...>
Die Änderungen gelten nur für dieses Element.
Zum Ausprobieren der Wirkung ist diese Möglichkeit gut,
aber ansonsten nicht zu empfehlen.
Webtechnologien – SS 2017 - Teil 4/CSS I
42
@-Anweisungen I
• Innerhalb von <style> und </style> können noch besondere
Anweisungen, eingeleitet mit @, stehen.
• Beispiel Einbinden externer Dateien:
<html><head>
...
<style type="text/css">
@import url(URL);
...
</style>
</head>
<body>
...
</body></html>
Wenn die Import-Anweisungen benutzt werden, müssen sie
immer zum Beginn eines Stylesheets stehen.
Webtechnologien – SS 2017 - Teil 4/CSS I
43
@-Anweisungen II
• Das @media-Statement klammert Definitionen für einen
Medientyp.
Beispiel:
@media print {
body { ... }
h1 { ... }
h2 { ... }
}
@media screen, handheld {
body { ... }
h1 { ... }
h2 { ... }
}
Webtechnologien – SS 2017 - Teil 4/CSS I
44
@-Anweisungen III
• Die Mediatypen können auch nach @import angegeben werden.
Beispiele:
@import url(URL1)
@import url(URL2)
Webtechnologien – SS 2017 - Teil 4/CSS I
print;
handheld, screen;
45
Kaskaden und Vererbung I
Priorisierung bei Stylesheets bei Widersprüchen
• Spezielle sind höherwertiger als allgemeine Definitionen.
• Weiter hinten definierte Festlegungen derselben Priorität sind
höherwertiger als früher definierte.
• Mit important gekennzeichnete haben immer höhere Priorität.
Reihenfolge der Interpretation:
1. Vom Browser definierte Stylesheets
2. Vom Surfer definierte Stylesheets
3. In der Seite definierte Stylesheets
Siehe auch: http://de.selfhtml.org/css/formate/kaskade.htm
Webtechnologien – SS 2017 - Teil 4/CSS I
46
Kaskaden und Vererbung II - Wiederholung
Es gibt zwei Vererbungshierarchien zur Bestimmung der
Menge der Attribute:
1. Vererbung bei der Definition
Diese erfolgt durch Angabe der Vererbung in der Definition
Beispiel: p.definition {.…}
sowie durch das oben angegebene Verfahren
2. Vererbung durch Schachtelung der Tags/Elemente
Durch Schachtelung der Wirkungsbereiche werden Attribute
vererbt.
Webtechnologien – SS 2017 - Teil 4/CSS I
47
Beispiel für !important
h1 {
font-face: Times;
font-size: 20px;
color: black !important;
}
Webtechnologien – SS 2017 - Teil 4/CSS I
48
Beispiel I
<!DOCTYPE html PUBLIC ... ... <html>
<head ... ... >
<title>...</title>
<style type="text/css">
#Ebene1 {
position: absolute;
top: 80px; left: 160px;
width: 200px; height: 100px;
border: 2px dashed olive;
display: block }
a[href^="mailto:"]:before {content: "\2709";}
</style>
</head>
<body>
<div id="Ebene1">Das ist der Inhalt</div>
<p> <a href="http://www.google.de"> google </a>
<p> <a href="mailto:[email protected]"> Messer </a>
</body> </html>
Webtechnologien – SS 2017 - Teil 4/CSS I
49
Beispiel II - Ergebnis
Webtechnologien – SS 2017 - Teil 4/CSS I
50
Beispiel III – Attribute für <div>
Attribut
Erläuterung
position: absolute;
Das Rechteck soll an einer
bestimmten Stelle innerhalb des
umfassenden Rahmens sein
top: 80px; left: 160px;
Koordinaten der linken oberen Ecke
width: 200px; height: 100px;
Breite und Höhe
border: 2px dashed olive;
Art des Rahmens
Webtechnologien – SS 2017 - Teil 4/CSS I
51
Nach dieser Anstrengung etwas Entspannung...
Webtechnologien – SS 2017 - Teil 4/CSS I
52
Zugehörige Unterlagen
Herunterladen