2017 Book HTML5UndCSS3 PDF
2017 Book HTML5UndCSS3 PDF
Patrick Schlaich
Dominik Sinner
Patrick Schlaich
Kippenheim, Deutschland
Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte
bibliografische Daten sind im Internet über [Link] abrufbar.
Springer Vieweg
© Springer-Verlag GmbH Deutschland 2017
Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Jede Verwertung, die nicht ausdrücklich
vom Urheberrechtsgesetz zugelassen ist, bedarf der vorherigen Zustimmung des Verlags. Das gilt insbesondere für
Vervielfältigungen, Bearbeitungen, Übersetzungen, Mikroverfilmungen und die Einspeicherung und Verarbeitung
in elektronischen Systemen.
Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in diesem Werk berechtigt auch
ohne besondere Kennzeichnung nicht zu der Annahme, dass solche Namen im Sinne der Warenzeichen- und Marken-
schutz-Gesetzgebung als frei zu betrachten wären und daher von jedermann benutzt werden dürften.
Der Verlag, die Autoren und die Herausgeber gehen davon aus, dass die Angaben und Informationen in diesem Werk
zum Zeitpunkt der Veröffentlichung vollständig und korrekt sind. Weder der Verlag noch die Autoren oder die Heraus-
geber übernehmen, ausdrücklich oder implizit, Gewähr für den Inhalt des Werkes, etwaige Fehler oder Äußerungen.
Der Verlag bleibt im Hinblick auf geografische Zuordnungen und Gebietsbezeichnungen in veröffentlichten Karten
und Institutionsadressen neutral.
The Next Level – aus dem Kompendium welchen Band Sie in der Hand halten.
der Mediengestaltung wird die Biblio- Die Bibliothek der Mediengestaltung
thek der Mediengestaltung. richtet sich an alle, die eine Ausbildung
Im Jahr 2000 ist das „Kompendium oder ein Studium im Bereich der Digi-
der Mediengestaltung“ in der ersten tal- und Printmedien absolvieren oder
Auflage erschienen. Im Laufe der Jahre die bereits in dieser Branche tätig sind
stieg die Seitenzahl von anfänglich und sich fortbilden möchten. Weiterhin
900 auf 2700 Seiten an, so dass aus richtet sich die Bibliothek der Medien-
dem zunächst einbändigen Werk in der gestaltung auch an alle, die sich in ihrer
6. Auflage vier Bände wurden. Diese Freizeit mit der professionellen Gestal-
Aufteilung wurde von Ihnen, liebe tung und Produktion digitaler oder
Leserinnen und Leser, sehr begrüßt, gedruckter Medien beschäftigen. Zur
denn schmale Bände bieten eine Reihe Vertiefung oder Prüfungsvorbereitung
von Vorteilen. Sie sind erstens leicht enthält jeder Band zahlreiche Übungs-
und kompakt und können damit viel aufgaben mit ausführlichen Lösungen.
besser in der Schule oder Hochschule Zur gezielten Suche finden Sie im An-
eingesetzt werden. Zweitens wird durch hang ein Stichwortverzeichnis.
die Aufteilung auf mehrere Bände die Ein herzliches Dankeschön geht an
Aktualisierung eines Themas wesentlich Herrn Engesser und sein Team des Ver-
einfacher, weil nicht immer das Gesamt- lags Springer Vieweg für die Unterstüt-
werk überarbeitet werden muss. Auf zung und Begleitung dieses großen Pro-
Veränderungen in der Medienbranche jekts. Wir bedanken uns bei unserem
können wir somit schneller und flexibler Kollegen Joachim Böhringer, der nun
reagieren. Und drittens lassen sich die im wohlverdienten Ruhestand ist, für
schmalen Bände günstiger produzieren, die vielen Jahre der tollen Zusammen-
so dass alle, die das Gesamtwerk nicht arbeit. Ein großes Dankeschön gebührt
benötigen, auch einzelne Themenbände aber auch Ihnen, unseren Leserinnen
erwerben können. Deshalb haben wir und Lesern, die uns in den vergange-
das Kompendium modularisiert und in nen fünfzehn Jahren immer wieder auf
eine Bibliothek der Mediengestaltung Fehler hingewiesen und Tipps zur wei-
mit 26 Bänden aufgeteilt. So entstehen teren Verbesserung des Kompendiums
schlanke Bände, die direkt im Unterricht gegeben haben.
eingesetzt oder zum Selbststudium Wir sind uns sicher, dass die Biblio-
genutzt werden können. thek der Mediengestaltung eine zeitge-
Bei der Auswahl und Aufteilung der mäße Fortsetzung des Kompendiums
Themen haben wir uns – wie beim darstellt. Ihnen, unseren Leserinnen
Kompendium auch – an den Rahmen- und Lesern, wünschen wir ein gutes
plänen, Studienordnungen und Gelingen Ihrer Ausbildung, Ihrer Wei-
Prüfungsanforderungen der Ausbil- terbildung oder Ihres Studiums der
dungs- und Studiengänge der Medi- Mediengestaltung und nicht zuletzt viel
engestaltung orientiert. Eine Übersicht Spaß bei der Lektüre.
über die 26 Bände der Bibliothek der
Mediengestaltung finden Sie auf der Heidelberg, im Frühjahr 2017
rechten Seite. Wie Sie sehen, ist jedem Peter Bühler
Band eine Leitfarbe zugeordnet, so dass Patrick Schlaich
Sie bereits am Umschlag erkennen, Dominik Sinner
Vorwort
Designgeschichte
2019
VII
Inhaltsverzeichnis
1 HTML5 2
1.1 Einführung......................................................................................................................................... 2
1.1.1 Was ist HTML?................................................................................................................................. 2
1.1.2 HTML-Versionen.............................................................................................................................. 3
1.1.3 HTML5-Editoren............................................................................................................................... 4
1.1.4 HTML5-Tutorials............................................................................................................................... 5
1.2 HTML5-Dateien................................................................................................................................ 6
1.2.1 Grundgerüst...................................................................................................................................... 6
1.2.2 Grammatik......................................................................................................................................... 6
1.2.3 Zeichensatz....................................................................................................................................... 7
1.2.4 Schriften............................................................................................................................................ 8
1.2.5 Farben................................................................................................................................................ 8
1.2.6 Dateinamen....................................................................................................................................... 9
1.2.7 Bilder, Grafiken, Videos................................................................................................................. 10
1.3 Meta-Tags....................................................................................................................................... 11
1.4 Dokument- und Textstruktur........................................................................................................ 12
1.4.1 Semantische Beschreibung......................................................................................................... 12
1.4.2 Dokumentstruktur.......................................................................................................................... 13
1.4.3 Textstruktur..................................................................................................................................... 13
1.4.4 Textauszeichnung.......................................................................................................................... 14
1.5 Tabellen........................................................................................................................................... 15
1.6 Hyperlinks....................................................................................................................................... 16
1.6.1 Definition und Merkmale.............................................................................................................. 16
1.6.2 Arten von Hyperlinks..................................................................................................................... 17
1.7 Navigation...................................................................................................................................... 20
1.7.1 Navigationsstruktur....................................................................................................................... 20
1.7.2 Aufklappbare Navigation.............................................................................................................. 21
1.8 Bilder und Grafiken....................................................................................................................... 22
1.8.1 Dateiformate................................................................................................................................... 22
1.8.2 Bilder referenzieren...................................................................................................................... 24
1.8.3 SVG-Vektorgrafik........................................................................................................................... 25
1.8.4 Canvas-Vektorgrafik ..................................................................................................................... 26
1.9 Formulare........................................................................................................................................ 28
1.9.1 Interaktion mit Formularen........................................................................................................... 28
1.9.2 Formulardefinition.......................................................................................................................... 28
1.9.3 Formularelemente.......................................................................................................................... 29
1.9.4 Datenprüfung.................................................................................................................................. 32
1.10 Multimedia..................................................................................................................................... 34
1.10.1 Audio................................................................................................................................................ 34
1.10.2 Video................................................................................................................................................ 34
1.10.3 Animation ....................................................................................................................................... 35
Inhaltsverzeichnis
1.11 Testen............................................................................................................................................... 36
1.11.1 HTML-Parser.................................................................................................................................. 36
1.11.2 Browsermarkt................................................................................................................................. 36
1.11.3 Betriebssysteme............................................................................................................................ 37
1.11.4 Valides HTML5................................................................................................................................ 37
1.12 Aufgaben......................................................................................................................................... 39
2 CSS3 44
2.1 Einführung....................................................................................................................................... 44
2.1.1 Was ist CSS?................................................................................................................................... 44
2.1.2 CSS versus HTML5........................................................................................................................ 45
2.1.3 CSS3................................................................................................................................................. 45
2.1.4 CSS3-Editoren................................................................................................................................ 46
2.1.5 CSS3-Tutorials................................................................................................................................ 46
2.2 CSS3-Regeln................................................................................................................................... 47
2.2.1 Allgemeine Definition.................................................................................................................... 47
2.2.2 CSS3-Datei...................................................................................................................................... 47
2.2.3 CSS3 im Dateikopf......................................................................................................................... 48
2.2.4 Lokale CSS3.................................................................................................................................... 49
2.3 Selektoren...................................................................................................................................... 50
2.3.1 Einfache Selektoren...................................................................................................................... 50
2.3.2 Vererbung........................................................................................................................................ 53
2.3.3 Kombinierte Selektoren................................................................................................................ 54
2.3.4 Rangfolge und Spezifität............................................................................................................... 54
2.4 Maßeinheiten................................................................................................................................. 57
2.5 Farben.............................................................................................................................................. 58
2.5.1 Hexadezimale Farbangaben........................................................................................................ 58
2.5.2 Dezimale Farbangaben................................................................................................................. 58
2.5.3 Farbnamen...................................................................................................................................... 59
2.5.4 Farbverläufe.................................................................................................................................... 59
2.6 Typografie........................................................................................................................................ 60
2.6.1 Schriftart......................................................................................................................................... 60
2.6.2 Schriftattribute............................................................................................................................... 61
2.6.3 Zeilenumbruch............................................................................................................................... 62
2.6.4 Abstände und Rahmen.................................................................................................................. 62
2.6.5 Listen................................................................................................................................................ 63
2.6.6 Tabellen........................................................................................................................................... 63
2.6.7 Hintergründe................................................................................................................................... 64
2.7 Layout.............................................................................................................................................. 66
2.7.1 CSS3-Boxmodell............................................................................................................................ 66
2.7.2 Blockelemente positionieren....................................................................................................... 68
IX
2.7.3 Blockelemente umfließen............................................................................................................ 71
2.7.4 Flexible Boxen................................................................................................................................ 71
2.7.5 Textüberlauf.................................................................................................................................... 73
2.7.6 Block- und Inline-Elemente.......................................................................................................... 73
2.7.7 Silbentrennung............................................................................................................................... 74
2.8 Media Queries............................................................................................................................... 76
2.8.1 Medientypen................................................................................................................................... 76
2.8.2 Medieneigenschaften................................................................................................................... 77
2.8.3 Anwendungsbeispiel..................................................................................................................... 78
2.9 Animation........................................................................................................................................ 79
2.9.1 Keyframe-Animation..................................................................................................................... 79
2.9.2 Animationseigenschaften............................................................................................................ 81
2.9.3 Transformationen........................................................................................................................... 82
2.9.4 Animation von Pseudoklassen.................................................................................................... 84
2.10 Responsive Webdesign................................................................................................................ 85
2.10.1 Briefing............................................................................................................................................ 85
2.10.2 Vorbereitung................................................................................................................................... 87
2.10.3 HTML5.............................................................................................................................................. 87
2.10.4 CSS3................................................................................................................................................. 88
2.11 Aufgaben......................................................................................................................................... 91
3 Anhang 96
3.1 Lösungen......................................................................................................................................... 96
3.1.1 HTML5.............................................................................................................................................. 96
3.1.2 CSS3................................................................................................................................................. 99
3.2 Links und Literatur...................................................................................................................... 102
3.3 Abbildungen................................................................................................................................. 103
3.4 Index.............................................................................................................................................. 104
X
1.1 Einführung
1 HTML5
3
1.1.3 HTML5-Editoren finden sein, da mit derartigen Systemen
ein individuelles, an die Bedürfnisse
Texteditoren des Kunden angepasstes Webdesign
Eine HTML5-Datei enthält ausschließ- kaum möglich ist.
lich Text. Aus diesem Grund können
Sie sie mit jedem beliebigen Texteditor Content-Management-Systeme
erstellen. Wer es etwas komfortabler Nach einem ähnlichen Prinzip wie
haben möchte, der kann auf einen bei Website-Baukästen funktionieren
HTML-Editor zurückgreifen, bei dem z. B. Content-Management-Systeme (kurz:
die Tags farbig dargestellt werden. Man CMS). Auch hier wählt der Anwender
spricht hierbei von Syntax-Highlighting. eine Vorlage – ein sogenanntes Tem-
Dies verbessert die Übersicht und er- plate – aus oder er erstellt diese selbst,
leichtert die Fehlersuche. Eine Übersicht und kümmert sich im zweiten Schritt
textbasierter HTML-Editoren, die häufig nur noch um den Inhalt. Dieser wird in
auch kostenlos verfügbar sind, finden einer Datenbank verwaltet. Die HTML-
Sie bei Wikipedia unter [Link]. Codierung der Seiten erfolgt dyna-
org/wiki/Liste_von_HTML-Editoren. misch, d. h., die Seite wird automatisch
generiert, wenn sie aufgerufen wird.
Website-Baukästen Nur auf diese Weise wird es möglich,
Das Gegenteil von selbst codierten große Shopsysteme oder Webportale
Webseiten sind Tools, mit denen sich zu realisieren.
Webseiten, teilweise sogar browser Leistungsfähige und weitverbreitete
basiert, einfach „zusammenklicken“ CMS sind Joomla!, TYPO3, WordPress
lassen. Hierbei wählt der Anwender oder Drupal. Diese unterscheiden sich
eine Vorlage aus und passt diese an. von einfachen „Baukästen“ im Hinblick
Die Zielgruppe dieser Produkte dürfte auf Funktionsumfang und Editiermög-
jedoch wohl eher im Amateurbereich zu lichkeiten teilweise erheblich.
Adobe Dreamweaver
Dreamweaver ist eine
Entwicklungsumge- A B
bung zur Realisation
und Verwaltung von
Webseiten. B
Als Entwickler kön
nen Sie entscheiden,
ob Sie im Quellcode A
oder im Entwurfsmo-
dus B arbeiten wollen.
Gute HTML-Kennt-
nisse sind jedoch in
jedem Fall erforder-
lich.
A
4
HTML5
5
1.2 HTML5-Dateien
Tags
Allgmeine Definition
<tag>Inhalt des Tags</tag>
Beispiele
<h1>Überschrift (headline)</h1>
<b>fetter Text (bold)</b>
<p>Absatz (paragraph)</p>
Ein HTML5-Dokument beginnt mit
Angabe des sogenannten Dokumen- Einzelne Tags (ohne schließendes Tag)
tentyps (!DOCTYPE) A. Er liefert dem <br> Zeilenumbruch
Browser die Information über die ver- <meta ...> Meta-Angabe (siehe Kapitel 1.3)
<img ...> Bild/Grafik (siehe Kapitel 1.8)
wendete HTML-Version.
Der eigentliche HTML-Code beginnt
mit dem <html>-Tag und endet mit Verschachtelung
dem End-Tag </html>. Ein HTML- Wenn Sie noch einmal das Grundgerüst
Dokument besteht immer aus Dateikopf einer HTML5-Datei in der linken Spalte
<head>…</head> und Dateikörper betrachten, dann fällt Ihnen auf, dass
<body>…</body>. Im Dateikopf sollte die Tags ineinander verschachtelt sind.
sich ein Titel <title> … </title> B Alle nacheinander geöffneten Tags müs-
6
HTML5
Kommentare Zeichensatz
<!--Kommentare--> <!DOCTYPE html>
<p>Ich bin ein erster Absatz</p> <html lang=“de“>
<!--sind--> <head>
<p> Ich bin ein zweiter Absatz</p> <title>Zeichensatz</title>
<!--nicht sichtbar--> <meta charset=“utf-8“>
<p> Ich bin ein dritter Absatz </p> </head>
<body>
<p>ä, ö, u und ß</p>
</body>
</html>
7
Zusätzlich können Sie die gewünschte 1.2.4 Schriften
Landessprache über das lang-Attribut
z. B. im <HTML>-Tag benennen. Bei In HTML5-Dateien lassen sich keine
mehrsprachigen Seiten können Sie das Schriften einbetten wie beispielsweise
Attribut auch abschnittsweise verän- in einer PDF-Datei. Es ist allerdings
dern. auch gar nicht vorgesehen, dass Schrif-
Trotz dieser Maßnahmen gibt es ten gewählt und formatiert werden
Sonderzeichen, die nicht korrekt ange- können, denn hierzu dient die Forma
zeigt werden. Hierzu gehören beispiels- tierungssprache CSS3 – wir gehen
weise spitze Klammern < und >, weil hierauf ab Seite 60 ein.
diese für HTML-Tags reserviert sind. Für Welche Schrift wird verwendet, wenn
derartige Zeichen gibt es zwei Möglich- in einer HTML5-Datei keine Schrift
keiten, diese anzugeben: angegeben wird? Es wird die Schrift
Als „benannte“ Zeichen, z. B. < und Schriftgröße verwendet, die in den
für die öffnende spitze Klammer < Browser-Grundeinstellungen eingestellt
Unicodierte Zeichen, z. B. < ist. Der Screenshot zeigt die Standard-
für die öffnende spitze Klammer < einstellungen bei Google Chrome:
Beachten Sie, dass der Strichpunkt zur
Codierung gehört. Die Tabelle zeigt eine
Übersicht wichtiger Zeichen.
8
HTML5
9
1.2.7 Bilder, Grafiken, Videos Relative Referenz
Um Dateien zu referenzieren, die zur
HTML5-Dateien sind reine Textdateien. eigenen Webseite gehören, ist die
Nun wäre es heute undenkbar, dass Angabe eines relativen Pfades erforder-
Webseiten ausschließlich aus Text be- lich. Dieser ändert sich nicht, wenn Sie
stehen – das Internet ist längst multi- den Internetauftritt auf einen Webserver
medial geworden. kopieren, da die Position der Dateien
Um Bilder, Grafiken oder Videos relativ zueinander erhalten bleibt.
verwenden zu können, müssen diese Die Regeln für relative Referenzen
als separate Dateien vorliegen. In der sind im Grunde sehr einfach: Um in
HTML5-Datei geben Sie dann lediglich ein Unterverzeichnis zu gelangen,
an, wo sich die entsprechenden Dateien geben Sie dieses mit Namen an. Es
befinden. Der Fachbegriff hierfür lautet folgt, durch einen Slash (/) getrennt,
„Referenzieren“. Hierbei werden zwei die Angabe des Dateinamens. In ein
Möglichkeiten unterschieden: übergeordnetes Verzeichnis gelangen
Sie durch zwei Punkte (. .), gefolgt von
Absolute Referenz Slash und Dateiname. Durch Kombi-
Eine absolute Referenz könnte lauten: nation dieser Regeln gelangen Sie in
C:/Dokumente und Einstellungen/Paul/ jedes beliebige Verzeichnis.
Eigene Dateien/Webseiten/[Link].
Sie erkennen, dass diese Angabe
unsinnig ist, da sie nur auf dem eige- Relative Referenz (Beispiele)
nen Computer funktioniert. Sobald die Datei im selben Verzeichnis
Dateien auf einen Webserver hochge-
[Link]
laden werden, stimmt der angegebene [Link]
Pfad nicht mehr und die Grafik wird
nicht gefunden. Datei im Unterverzeichnis
Es gibt eine Ausnahme, bei der abso- bilder/[Link]
lute Angaben notwendig sind: Um Links sites/[Link]
10
1.3 Meta-Tags HTML5
nal, d. h., die HTML-Datei funktioniert Seite vom Server und nicht aus Cache laden
auch ohne Meta-Tags. <meta http-equiv=“expires“ content=“0“>
Früher waren die keywords sowie die
Seite neu laden, hier nach fünf Sekunden
description der Site unerlässlich, um
ein möglichst gutes Ranking in der Tref- <meta http-equiv=“refresh“ content=“5“>
11
1.4 Dokument- und Textstruktur
12
HTML5
Artikel <p>...</p>
Kopfbereich <br>
Fußbereich <ul>
<li>...</li>
<footer>...</footer> <li>...</li>
...
Navigationsbereich </ul>
<nav>...</nav> Nummerierte Liste (ordered list)
Beispiel <ol>
<section> <li>...</li>
<header> <li>...</li>
<h1>Mein Blog</h1> ...
</header> </ol>
<article> Abbildung
<h2>Headline</h2>
<p>Hier der Inhalt</p> <figure>
</article> <img src=“...“>
<article> </figure>
<h2>Headline</h2>
<p>Hier der Inhalt</p> Horizontale Linie
</article>
<hr>
<footer>
<p>Impressum</p> Allgemeines Element (für CSS3)
</footer
</section> <div>...</div>
13
tierung, sondern dient lediglich dazu, Beispiel
um einen Text mit Hilfe von CSS forma-
<section>
tieren zu können (siehe Seite 60). <article>
<h3>Text mit HTML5</h3>
<p>In einem Text können Sie
1.4.4 Textauszeichnung einzelne Wörter <strong>
stark </strong> oder
Um einzelne Textpassagen oder Wörter <i>kursiv</i>
hervorheben.<br>Ziffern
hervorzuheben, stellt HTML5 zahlreiche
können hoch- (cm<sup>2
Elemente bereit. In der Tabelle sind die </sup>) oder tiefgestellt
wichtigsten Tags zusammengefasst. (x<sub>1</sub>) werden.</p>
<ul>
Bitte beachten Sie auch hier: Die <li>Eine</li>
genannten HTML5-Tags dienen – im <li>Liste</li>
Unterschied zu früheren Versionen – <li>mit</li>
<li>Punkten.</li>
ausschließlich zur Beschreibung der </ul>
semantischen Struktur, nicht zur Forma- <ol>
tierung des Inhalts. <li>Und</li>
<li>eine</li>
<li>mit</li>
Textauszeichnung <li>Ziffern.</li>
</ol>
Abkürzung </article>
<abbr>...</abbr> <footer>
<p>© Paul</p>
Stilistische Hervorhebung (fett): </footer>
</section>
<b>...</b>
Quellcode
<code>...</code>
Wörtliche Rede
<q>...</q>
Tiefgestellt
<sub>...</sub>
Hochgestellt
<sup>...</sup>
14
1.5 Tabellen HTML5
Eine Tabelle wird durch das <table>- Bei Tabellen wurde die mit HTML5 ge-
Tag begonnen. Danach folgt eine erste forderte strikte Trennung von Inhalt und
Zeile, die mit <tr> (von table row) Formatierung konsequent fortgesetzt:
beschrieben wird. Für jede Spalte wird Alle früheren Eigenschaften wie cell-
<td> (von table data) verwendet. padding oder cellspacing gibt es
Für Spalten- oder Zeilenüberschriften nicht mehr. Die Gestaltung von Tabellen
können Sie alternativ das <th>-Element erfolgt ausschließlich mit CSS (siehe
einsetzen. Um mehrere Spalten oder Seite 63).
Zeilen miteinander zu verbinden,
verwenden Sie die colpan- bzw. Beispiel
rowspan-Eigenschaft in der jeweiligen
<table>
Datenzelle. <tr>
<th colspan=“4“>Firma Meyer</th>
</tr>
Tabellen <tr>
Tabellenstruktur <td>Jahr</td>
<td>2014</td>
<table> <td>2015</td>
<tr> <td>2016</td>
<th>A</th>*)
A B
</tr>
<th>B</th>*) C D <tr>
</tr> <td>Umsatz</td>
<tr> <td>3000</td>
<td>C</td> <td>4000</td>
<td>D</td> <td>4500</td>
</tr> </tr>
<!-- weitere Zeilen --> <tr>
</table> <td>Gewinn</td>
<td>100</td>
*) Ohne Kopfspalte mit <td> möglich <td>150</td>
<td>200</td>
Spalten oder Zeilen verbinden </tr>
</table>
Verbindung zweier Spalten:
<table>
<tr> Tabelle
<td colspan=“2“>E</td> Das Beispiel zeigt eine
</tr>
Tabelle mit vier Zeilen
<tr> E
und vier Spalten. Die
<td>F</td>
<td>G</td> F G Spalten der Kopfzeile
</tr> sind verbunden.
</table> Die Linien werden
bei HTML5 standard-
Verbindung zweier Zeilen: mäßig nicht angezeigt
<table> und wurden hier zur
<tr> Veranschaulichung
<td rowspan=“2“>H</td> mit CSS3 ergänzt.
<td>I</td>
</tr> I
<tr> H
J
<td>J</td>
</tr>
</table>
15
1.6 Hyperlinks
16
HTML5
stellung, die Sie mittels CSS3 ändern Links auf externe Webseiten
können. Um eine externe – also sich auf einem
Jeder Link besitzt vier Zustände: anderen Webserver befindende – HTML-
- Link wurde noch nicht angeklickt Datei zu verlinken, muss die Internet
- Link wird mit Maus berührt adresse (URL) als absolute Referenz an-
- Link wird gerade angeklickt gegeben werden. Beachten Sie hierbei,
- Link wurde bereits angeklickt dass die Adresse komplett in der Form
Jeder Zustand kann mittels CSS3 Protokoll:// Servername/Domain-Name
unterschiedlich gestaltet werden, angegeben werden muss, also z. B.
so dass hierdurch die Benutzerfüh- [Link] (vgl. Seite 10).
rung verbessert wird. Ein verlinkter Mit Hilfe des target-Attributs legen
Begriff muss visuell als Link kenntlich Sie fest, ob die Seite im selben (_self)
werden B. Weiterhin ist es sinnvoll, oder in einem neuen (_blank) Brow
die Darstellung zu ändern, wenn der serfenster bzw. Browsertab geöffnet
Link mit der Maus berührt wird. Diese werden soll.
Rückmeldung an den Nutzer ist wich-
tig, damit er weiß, dass es sich um Hyperlinks auf externe Webseiten
ein interaktives Element handelt. Hyperlink zu externer Adresse (URL)
Weitere Informationen über den Link
<a href=“[Link]
bzw. das verlinkte Ziel können als Springer-Verlag</a>
sogenannter Tooltipp C eingeblendet
werden. Dabei handelt es sich um Hyperlink in neuem Browserfenster oder -tab
ein kleines Popup-Fenster, das einen <a href=“[Link]
kurzen Text enthält. Für Nutzer, die die target=“_blank“>Springer-Verlag</a>
Bedeutung eines rein grafischen Links Hyperlink im selben Browserfenster oder -tab
nicht verstehen, ist dies eine Hilfe.
<a href=“[Link]
target=“_self“>Springer-Verlag</a>
1.6.2 Arten von Hyperlinks
Hinweis:
Ohne Angabe des target-Attributs wird die Websei-
Zur Definition eines Hyperlinks wird das te ebenfalls im selben Fenster bzw. Tab geöffnet.
<a>-Element benötigt. Das „a“ kürzt
das englische Wort „anchor“ ab, was so Hyperlink mit Tooltipp
viel wie „Anker“ oder „verankern“ be- <a href=“[Link]
deutet. Der Begriff ist im übertragenen title=“Link zu Springer“>Springer</a>
17
Die angegebene E-Mail-Adresse Hyperlinks auf eine E-Mail-Adresse
wird in die Absenderzeile des E-Mail- E-Mail-Link ruft E-Mail-Programm auf
Programms eingetragen. Sie können
<a href=“[Link]
weitere Einträge vordefinieren, z. B. den paul@[Link]</a>
Betreff oder den Text der E-Mail:
E-Mail mit Kopieempfänger
A cc (Kopieempfänger, sichtbar)
B bcc (Kopieempfänger, unsichtbar) <a href=“[Link]
mich@[Link]“>paul@[Link]</a>
C subject (Betreff)
D body (Text) E-Mail mit Betreff
Beachten Sie, dass der erste Zusatz mit <a href=“[Link]
einem „?“ angehängt wird, alle weite- Anmeldung“>paul@[Link]</a>
ren mit einem „&“, das codiert (&) E-Mail mit vordefiniertem Text
geschrieben werden sollte. <a href=“[Link]
Das Verfahren hat zwei wesentliche Hiermit bestätigen wir Ihre
E-Mail-Links Anmeldung.“>paul@[Link]</a>
Nachteile: Der Link funktioniert nicht,
E-Mail-Links erfordern
einen E-Mail-Client wenn keine E-Mail-Software installiert E-Mail mit mehreren Angaben:
wie Outlook oder ist. Die E-Mail-Adresse sollte deshalb <a href=“[Link]
Thunderbird. Durch auch als Klartext sichtbar sein. mich@[Link]&subject=Anmeldung
Anklicken des Links Zweitens laufen Sie Gefahr, dass &body= Hiermit bestätigen wir Ihre
öffnet sich dieser. Anmeldung.“>paul@[Link]</a>
Zusätzlich zur Adresse (unverschlüsselte) E-Mail-Adressen im
können weitere Quellcode schnell in Spamlisten gera- Hinweis:
Informationen wie ein ten. Als Maßnahme ist die Verschlüsse- Die erste Angabe wird mit ? angehängt, weitere mit
Betreff automatisch & (die codierte Darstellung des &-Zeichens).
lung der Adresse möglich.
eingetragen werden.
18
HTML5
19
1.7 Navigation
20
HTML5
21
1.8 Bilder und Grafiken
22
HTML5
23
In SVG können Sie Schriften als Pfade unten verdeutlicht die möglichen Posi
abspeichern, so dass der Zeichensatz tionen, die Bilder relativ zur HTML5-
der Schrift nicht mehr erforderlich ist. Datei haben können.
SVG-Vektorgrafiken können animiert Durch die Angabe der Eigenschaf-
werden. ten width und height im <img>-Tag
SVG kann Pixelgrafiken einbinden. können Sie festlegen, wie groß das
Aufgrund der Vorteile sollten Sie SVG- Bild angezeigt werden soll. Besser ist
Dateien für Grafiken aller Art verwen- es allerdings, die benötigte Endgröße
den: Infografiken, Diagramme, animier bereits im Bildbearbeitungsprogramm
te Grafiken, Schrift (als Grafik). festzulegen, da dies zu besserer Quali-
tät und geringerer Datenmenge führt.
1.8.2 Bilder referenzieren Die Angabe eines alternativen Textes
(alt=“...“) hilft sehbehinderten oder
Bilder lassen sich in HTML5-Dokumen blinden Menschen, den Inhalt einer
te nicht importieren, sondern werden Webseite auch ohne Bilder verstehen
mit diesen stets mit Hilfe des <img>- zu können, wenn sie ihn durch einen
Tags verknüpft (referenziert). Dabei ist Screenreader vorgelesen bekommen.
entscheidend, dass Sie den Pfad zur Beachten Sie die Groß- und Klein-
Bildquelle korrekt angeben. Die Grafik schreibung: Eine Datei „[Link]“ darf
Bilder referenzieren
Im HTML-Quellcode
muss angegeben wer-
den, wo sich ein Bild
relativ zur HTML-Datei
befindet. [Link] [Link]
Beim Upload auf
einen Webserver <!doctype html>
bleiben die relativen <html>
Pfade erhalten, so <head>
dass die Bilder auch <title>Rom</title>
auf diesem Computer </head>
gefunden werden. <body>
<h3>Rom</h3> bilder
<img src="[Link]"
alt="Foto zeigt Petersdom"> [Link]
<img src="bilder/[Link]"
alt="Foto zeigt Kolosseum">
<img src="../[Link]"
alt="Foto zeigt Engelsburg">
</body>
</html>
[Link]
24
HTML5
semantische Funktion, dient also zur Text auf Grundlinie ab Punkt (x|y)
Kennzeichnung der Abbildung. <text x=“50“ y=“100“ font-family=
„Arial“ font-size=“18“>Text</text>
25
für die Programmiersprache JavaScript
heranziehen. Diese stellt das – kompli-
ziert klingende – Objekt CanvasRen-
deringContext2D zur Verfügung, mit
dessen Hilfe Grafiken erstellt werden
können. Hierzu ein einfaches Beispiel:
Erläuterungen
26
HTML5
27
1.9 Formulare
28
HTML5
1.9.3 Formularelemente
D
Die gewünschten Elemente werden im
Formularbereich <form> … </form> C
angegeben. Die wichtigsten Formular
elemente sind: B
Einzeiliges Textfeld A
Mehrzeiliges Textfeld B
Auswahlliste (Menü) C F
Combobox D
Radiobutton E G
Checkbox F
Schaltflächen (Buttons) G
Verstecktes Feld
Feld für Datei-Upload Textfelder
Bis auf mehrzeilige Textfelder und Einzeiliges Textfeld
Auswahllisten beginnen alle Elemente <input type=“text“ name=“…“ size=“…“
mit <input>. Es handelt sich dabei maxlength=“…“ value=“…“>
29
einmalig vorkommenden Namens jedoch in die Combobox klickt, klappt
(name) unerlässlich. eine Datenliste <datalist> auf, aus
Die Anzahl an Zeichen (size) be- der der Nutzer einen Eintrag wählen
stimmt die Breite des Feldes. kann:
Die maximale Anzahl an Zeichen
(maxlength) begrenzt die Eingabe-
möglichkeiten.
Manchmal soll bereits ein Text einge-
tragen werden (value), z. B., um ein
Datumsformat vorzugeben: [Link].
Combobox
JJJJ.
<input type=“text“ name=“…“ list=“…“
Bei mehrzeiligen Textfeldern muss die
size=“30“><br>
Anzahl an Zeilen (rows) und Spalten <datalist id=“…“>
(cols) angegeben werden. <option value=“…“>
<option value=“…“>
…
Auswahlliste (Menü) </datalist>
Bei Auswahllisten <select> handelt es
Hinweis: Damit Textfeld und Datenliste verknüpft
sich um ein Menü, das die Auswahl aus
werden, muss der unter list vergebene Name mit
einer Liste <option> ermöglicht. der id übereinstimmen.
Über das size-Attribut legen Sie
fest, wie viele Zeilen des Menüs an- Beispiel
gezeigt werden sollen. Entspricht die
<input type=“text“ name=“land“
Zahl der Anzahl an Einträgen, so ist das list=“staat“ size=“30“><br>
Menü komplett sichtbar. Andernfalls <datalist id=“staat“>
<option value=“Deutschland“>
klappt das Menü auf, wenn der Nutzer <option value=“Frankreich“>
auf den kleinen Pfeil am rechten Rand <option value=“Schweiz“>
klickt. </datalist>
Auswahlliste
Radiobutton
<select name=“…“ size=“…“>
<option> … </option> Radiobuttons <input type=“radio“>
<option> … </option> haben ihren Namen von alten Radios,
… die noch Drucktaster hatten. Sobald
</select>
ein Taster gedrückt wurde, sprang der
Beispiel zuvor betätigte Taster raus.
<select name=“zahlung“ size“1“>
<option>Kreditkarte</option> Radiobutton
<option>Nachnahme</option>
<option>Rechnung</option> <input type=“radio“ name=“…“
</select> value=“…“>
Beispiel
Combobox <input type=“radio“ name=“anrede“
Eine praktische Erweiterung der Formu- value=“Herr“ checked>Herr
lare mit HTML5 stellen Comboboxen
<input type=“radio“ name=“anrede“
dar: Optisch sehen diese wie gewöhn- value=“Frau“>Frau
liche Textfelder aus. Sobald der User
30
HTML5
31
und dienen der Übertragung von
Informationen (value), ohne dass der
Benutzer etwas eingeben muss. Dies
könnte beispielsweise die Bestellnum-
mer oder der Preis eines bestellten
Artikels sein.
Verstecktes Feld
<input type=“hidden“ name=“…“
value=“…“>
32
HTML5
muss. Das Absenden der Formularda- Bei title notieren Sie den Text, der
ten ist so lange nicht möglich, bis die gezeigt wird, wenn auf den Senden-
Daten in der vorgeschriebenen Form Button geklickt wird, ohne dass die
eingegeben wurden. Pflichtfelder, die Eingabe erfolgt ist. Er soll eine Hilfe
vom User ausgefüllt werden müssen, für die korrekte Eingabe geben.
können Sie mit required kennzeich-
nen. Mittlerweile werden diese hilf- Eingabehilfen
reichen Features von den Browsern gut HTML5 sieht etliche
unterstützt. Lediglich das date-Attribut Möglichkeiten zur
vereinfachten und feh-
ist derzeit mit Firefox und Safari noch
lerfreien Eingabe von
nicht möglich (Stand: 12/2016). Benutzerdaten vor.
Der Screenshot
oben zeigt die Aus-
Datenprüfung
wahl eines Datums
Eingabefeld für ein Datum mit Microsoft Edge.
<input type=“date“> Unten sehen Sie die
Fehlermeldung, die
Eingabefeld für eine E-Mail-Adresse bei einer falschen
Eingabe erscheint.
<input type=“email“>
Durch diese
Eingabefeld für ein vorgegebenes Format Maßnahmen wird
gewährleistet, dass
<input type=“pattern“> die an den Webserver
Beispiel übertragenen Daten
vollständig und kor-
<form> rekt sind.
Datum:<br>
<input type=“date“ required><br>
E-Mail:<br>
<input type=“email“ required><br>
Plz<br>
<input pattern=“[0-9]{5}“
title=“01234“ size=“5“ required><br>
Telefon:<br>
<input pattern=“[0-9]{3,5}[/][0-9]
{5,9}“ title=“01234/56789“></p>
<input type=“submit“ value=
“Senden“>
</form>
Erläuterungen
Im regulären Ausdruck pattern für
die Postleitzahlen werden die er-
laubten Zeichen in eckiger Klammer
angegeben (hier: [0-9]). Danach
folgt die Anzahl an Zeichen in ge-
schweifter Klammer (hier: {5}).
Bei der Telefonnummer wird eine
minimale und maximale Zeichenzahl
angegeben, z. B. mindestens drei und
höchstens fünf Ziffern: {3,5}.
33
1.10 Multimedia
Wenn Sie bereits HTML können und werden muss. Lesen Sie eventuell
nun auf HTML5 umsteigen, werden Sie nochmals auf Seite 10 nach.
sich darüber freuen, dass das Einbinden Wer sicher gehen will, dass der
von multimedialen Daten, insbesondere Sound in möglichst allen, auch älteren
von Audio und Video, mit HTML5 deut- Browsern funktioniert, der sollte ihn
lich einfacher geworden ist. in mehreren Formaten anbieten. Die
Dennoch gibt es noch immer einige Spezifizierung erfolgt hierbei über das
Hürden zu überwinden, weil nicht jeder type-Attribut. Abgespielt wird dann die
Browser bzw. jede Browserversion auch erste funktionierende Datei.
jedes Dateiformat unterstützt. Dies hat Durch controls werden Steuer
überwiegend lizenzrechtliche Gründe. elemente angezeigt, autoplay bewirkt,
Die Folge ist, dass Sie einen Sound dass der Sound beim Öffnen der Seite
oder ein Video gegebenenfalls in meh- sofort abgespielt wird. Schließlich errei-
reren Formaten bereitstellen müssen. chen Sie durch loop, dass der Sound
als Schleife wiederholt wird.
1.10.1 Audio
1.10.2 Video
Für das Abspielen von Audiodateien
stellt HTML5 das <audio>-Element Das mit HTML5 eingeführte <video>-
AV-Medien
zur Verfügung. Momentan gibt es drei Element ermöglicht es, Videos ohne
Audioformate, die unterstützt werden: Plug-in oder Flash abzuspielen. Auch
MP3 hier gilt, dass es zurzeit drei konkurrie-
OGG rende Formate gibt:
WAV MP4
Empfehlenswert ist insbesondere OGV
MP3, da dieses Format von allen heute WebM
wichtigen Browsern (siehe Seite 36) Bei den Videoformaten kommt momen-
unterstützt wird. Testen sollten Sie dies tan MP4 die größte Bedeutung zu. Wie
dennoch. bei Sounds können Sie auch hier auf
Beachten Sie, dass zur Angabe der Nummer sicher gehen und das Video
Sounddatei (wie bei Bildern) nach src in mehreren über type spezifizierte
der relative Pfad zur Datei angegeben Formate anbieten.
Beispiel Beispiel
<audio controls autoplay> <video width=“320“ height=“240“
<source src=“sound.mp3“ controls poster=“[Link]“>
type=“audio/mpeg“> <source src=“video.mp4“
<source src=“[Link]“ type=“video/mp4“>
type=“audio/ogg“> <source src=“[Link]“
<source src=“[Link]“ type=“video/ogg“>
type=“audio/wav“> </video>
</audio>
34
HTML5
1.10.3 Animation
Knapp 20 Jahre hat Flash einen großen
Beitrag zum multimedial werdenden
Animation
Internet geleistet.
Bei Flash handelt es sich – im Unter-
schied zu HTML5 – um ein sogenanntes
proprietäres Format, das zum Abspielen
von Filmen den Flash-Player von Adobe
benötigt. Apple hat sich geweigert, die-
sen Player in iOS bzw. seinen Browser
Safari zu integrieren, so dass Flash-Ani-
mationen und -Videos auf iPhones und
HTML5-Video mit Steuerelementen iPads nicht abspielbar waren. Hierdurch
sahen sich große Portale wie YouTube
Die Eigenschaften autoplay und gezwungen, von Flash auf HTML5 um-
controls kennen Sie aus dem letz- zusteigen.
ten Abschnitt. Bei Video kommt noch Nun hat auch Adobe reagiert und
die Eigenschaft poster hinzu, mit der Anfang 2016 den Flash-Nachfolger
Sie ein Bild angeben können, das als Animate CC auf den Markt gebracht.
Standbild gezeigt werden soll. Außer- Wenn Sie Flash kennen, wird Ihnen
dem können Sie die Breite (width) und der Umstieg sehr leicht fallen, weil die
Höhe (height) des Videos angeben. Bedienung praktisch identisch geblie-
Wenn Sie Sound oder Video auf einer ben ist. Neu ist, dass nun auch Adobe
Website einsetzen wollen, müssen Sie auf offene Standards setzt und Animati-
bedenken, dass die Datenmengen we- onen z. B. als Canvas oder SVG expor-
sentlich höher sind als bei Text, Bilder tieren kann.
oder Grafiken. Datenmengen spielen
vor allem bei mobilen Internetverbin- Flash-Animationen
dungen eine Rolle, weil dort (noch) Die Uhr für Flash-
nicht flächendeckend hohe Datenraten Anwendungen steht
bereits auf fünf
verfügbar sind.
Minuten nach zwölf,
Videoportale wie YouTube bieten denn Adobe hat die
aus diesem und aus lizenzrechtlichem Weiterentwicklung
Grund Videos nicht zum Download an, eingestellt. Der Nach-
folger heißt Adobe
sondern ermöglichen lediglich soge- Animate CC.
nanntes On-Demand-Streaming. Dabei
werden keine kompletten Dateien über-
tragen, sondern lediglich die Daten, die
die nächsten Sekunden des Videos oder
Sounds enthalten. Diese werden zwi-
schengespeichert und kurze Zeit später
im Browser abgespielt. Solange dieser
Speicher nicht schneller geleert als neu
befüllt wird, läuft das Video ohne zu
stoppen ab.
35
1.11 Testen
29 % 36 %
36
HTML5
37
Making of …
38
1.12 Aufgaben HTML5
‹/html› 2.
39
4 Begriff „Semantik“ verstehen Webbrowser und betrachten Sie das
Ergebnis.
a. Erläutern Sie, was unter der seman- e. Nehmen Sie gegebenenfalls Korrek-
tischen Struktur einer Webseite zu turen vor.
verstehen ist.
6 Schriften verwenden
40
HTML5
2.
3.
9 Hyperlinks verwenden
41
11 Bildformate für Webseiten kennen a. Weshalb können Bilder bzw. Grafiken
in die HTML5-Datei nicht eingefügt
a. Nennen Sie drei zulässige Dateifor- werden?
mate für Pixelbilder auf Webseiten.
1.
13 Formulareingaben prüfen
42
HTML5
Erstellen Sie eine HTML5-Datei, die a. Nennen Sie die drei zurzeit wich-
folgendes Formular erzeugt: tigsten Browser für mobile Endge-
räte.
1.
2.
3.
b. Nennen Sie die drei zurzeit wich-
tigsten Browser für Desktop-Com-
puter.
1.
2.
3.
c. Begründen Sie, weshalb Sie Ihre
Webseiten mit verschiedenen
Browsern und Browserversionen
testen müssen.
15 AV-Medien einbinden
43
2.1 Einführung
2 CSS3
2.1.1 Was ist CSS? Mit CSS steht dem Webdesigner ein
sehr mächtiges Werkzeug für die Gestal-
HTML wurde bereits 1992 zur Beschrei- tung von Webseiten zur Verfügung. Mit
bung der Struktur und des Inhalts von Hilfe von CSS gelingt es, Webseiten dy-
Webseiten entwickelt: Überschriften, namisch an die unterschiedlichen Dis-
Absätze, Tabellen, Aufzählungen, Links. playgrößen der internetfähigen Endge-
Die Formatierung oder gar Gestaltung räte anzupassen. Schriften lassen sich
von Seiten, wie dies aus dem Printbe- nun einbinden und Texte typografisch
reich bekannt ist, war damals weder korrekt setzen und formatieren, wie dies
möglich noch erforderlich. Dies erklärt, bislang nur im Printbereich möglich
weshalb HTML zur Formatierung von war. Mit CSS können Sie Animationen
Text oder zum Layouten von Seiten erstellen und vieles mehr.
praktisch keine Möglichkeiten zur Verfü- Verschaffen Sie sich doch einen
gung stellt. ersten Eindruck durch Besuch des
Wegen der wachsenden Bedeutung „CSS Zen Gardens“. Auf der Web-
des Internets wurde die Forderung nach site zeigen Webdesigner ihr Können,
Web-„Design“ – also nach einer gestal- wobei der HTML5-Quellcode – der im
terisch ansprechenden Umsetzung der Wesentlichen aus Text besteht – immer
Seiteninhalte – immer lauter. Deshalb derselbe ist. Alle CSS-Dateien stehen
wurde HTML 1996 durch eine Formatie- zum Download bereit, so dass Sie die
rungssprache mit dem Namen Casca- Vorgehensweise nachvollziehen und
ding Style Sheets, kurz: CSS, ergänzt. erlernen können.
45
2.1.4 CSS3-Editoren auszukommen. Unserer Erfahrung
nach funktioniert dies jedoch nicht
Wie bei HTML5 gibt es auch bei CSS3 wirklich und wird auch unserem
mehrere Herangehensweisen, die sich Anspruch nicht gerecht, mit Ihnen
grundsätzlich unterscheiden: zusammen die grundlegenden CSS3-
Das manuelle Codieren von Websei- Kenntnisse zu erarbeiten.
ten ist mühsam, liefert aber dafür Wer mit einem Content-Management-
exakt den gewünschten Quellcode, System arbeitet (siehe Seite 4), erhält
der sich auch im Nachhinein beliebig vordefinierte CSS3-Dateien und
editieren lässt. Da es sich wie bei braucht diese nur noch an seine eige-
HTML5 auch bei CSS3 um einfache nen Bedürfnisse und Wünsche anzu-
Textdateien handelt, ist diese im Prin- passen. Voraussetzung ist allerdings,
zip mit jedem Texteditor möglich. dass Sie sich mit CSS3 gut auskennen
Komfortabler ist es, eine Software – für Anfänger ist diese Vorgehens-
zu verwenden, die ein sogenanntes weise nicht empfehlenswert.
Syntax-Highlighting bietet. Hierbei
werden zusammengehörende Code- 2.1.5 CSS3-Tutorials
sequenzen farbig dargestellt, was die
Übersicht erhöht und die Fehlersuche Wenn Sie dieses Kapitel durchgearbei-
erleichtert. Je nach Software werden tet haben, kennen Sie die wichtigsten
beim Codieren Listen mit einer Aus- CSS3-Eigenschaften zur Formatie-
wahl aller möglichen CSS3-Attribute rung und Gestaltung von Webseiten.
angezeigt. Dies ist nützlich, weil Sie Zur Vertiefung verweisen wir auf die
dann nicht alles auswendig wissen bereits auf Seite 5 erwähnte Literatur.
oder nachschlagen müssen. Empfehlenswert ist insbesondere das
Die dritte Möglichkeit besteht darin, Online-Tutorial von W3-Schools, www.
einen sogenannten WYSIWYG-Editor [Link]/css, da Sie auf dieser
zu verwenden. Die Abkürzung steht Website die CSS3-Codierung A direkt
für „What you see is what you get!“ ausprobieren können. Nach Anklicken
und verspricht dem Anwender, auch des Buttons See Result B sehen Sie
ohne HTML5- und CSS3-Kenntnisse sofort das erzielte Ergebnis C.
W3-Schools
Auf dieser Website
B können Sie den Um-
gang mit CSS3 ein-
C üben: Nach Eingabe
des Codes im linken
A Fenster sehen Sie im
rechten Fenster sofort
das Ergebnis.
[Link]/
css
46
2.2 CSS3-Regeln CSS3
Vielleicht haben Sie sich schon gefragt, so nicht zwingend, aber sinnvoll sind
was Cascading in der Abkürzung CSS Kommentare /* … */ innerhalb von
bedeutet. Eine Kaskade ist laut Duden CSS3-Dateien. Sie helfen Ihren Kollegen
ein mehrstufiger Wasserfall oder Brun- und sich selbst dabei, Ihre Stylesheets
nen. In unserem Fall besitzt das Wort nachvollziehen zu können. Häufig ist
eine übertragene Bedeutung und be- es so, dass nach einigen Wochen oder
sagt, dass die Stylesheets „mehrstufig“ Monaten Änderungen notwendig sind.
angeordnet sein können: intern oder Spätestens dann gilt: Ohne Kommen-
extern, zentral oder lokal, durch den tare sind Änderungen mühsam.
Browser, Nutzer oder Autor der Websei-
te definiert. Um Konflikte zu vermeiden, Aufbau einer CSS3-Regel
gibt es Regeln, nach denen diese un- Allgemeine Definition
terschiedlichen CSS nacheinander, also
Selektor {
„kaskadiert“, ausgeführt werden. Eigenschaft1: Wert1;
Ein wesentliches Merkmal der Kaska- Eigenschaft2: Wert2;
... Kaskade
dierung von CSS ist, wo diese definiert
} Eine Kaskade ist ein
werden. Hierbei stehen drei Möglich- mehrstufiger Wasser-
keiten zur Verfügung: Beispiele fall oder Brunnen.
Externe CSS3-Definition in einer body {
eigenen Datei background-color: #FFFFFF;
Zentrale CSS3-Definition im Dateikopf margin: 20px;
}
Lokale CSS3-Definition im HTML5- p {
Element font-family: Arial;
font-size: 10px;
font-weight: bold;
2.2.1 Allgemeine Definition }
47
Der Dateiname muss die Endung .css um damit den Inhalt an unterschied-
erhalten. Damit eine externe CSS3- liche Ausgabemedien anzupassen.
Datei genutzt werden kann, muss sie Neben den in den Beispielen genannten
mit der HTML5-Datei verlinkt werden. Medientypen print und screen gibt
Hierfür können Sie im Dateikopf wahl- es eine Reihe weiterer, z. B.:
weise das <link>-Element aus HTML5 aural (Sprachausgabe)
oder die @import-Direktive aus CSS3 projection (Projektion)
verwenden. tv (Fernseher)
Interessant ist die Möglichkeit, Dies reicht jedoch heute nicht mehr
mehrere CSS3-Dateien einzubinden, aus, weil es zahlreiche Endgeräte wie
Smartphones oder Tablet-PCs mit unter
Externe CSS3-Datei(en) schiedlichen Formaten gibt. Nähere
<link>-Element Informationen hierzu finden Sie ab
Seite 76.
Einbinden der Datei „[Link]“:
<!DOCTYPE html>
<html> Vorteile externer CSS3-Dateien
<head> Der Hauptvorteil externer CSS-Dateien
<link rel=“stylesheet“ type=“text/
css“ href=“[Link]“> liegt darin, dass sie für beliebig viele
</head> HTML5-Dokumente zur Verfügung
... stehen. So lässt sich mit einer einzigen
Einbinden mehrerer CSS-Dateien für Bildschirm- CSS-Datei ein kompletter Internetauftritt
und Druckausgabe: formatieren oder nachträglich ändern.
<html> Dies funktioniert auch bei dynamischen,
<head>
<link rel=“stylesheet“ also durch Skripte automatisch gene
media=“screen“ href=“[Link]“> rierten HTML5-Seiten, da auch hier le-
<link rel=“stylesheet“ diglich die vorhandene CSS-Datei über
media=“print“ href=“[Link]“>
</head> <link> oder @import eingebunden
... werden muss.
@import-Direktive
2.2.3 CSS3 im Dateikopf
Einbinden der Datei „[Link]“:
<!DOCTYPE html>
<html> Nehmen Sie einmal an, dass Sie Ihren
<head> Webauftritt wie oben beschrieben mit
<style type=“text/css“> einer externen CSS3-Datei formatieren.
@import url(„[Link]“);
</style> Jetzt gibt es aber möglicherweise ein-
</head> zelne Seiten, die Sie an einigen Stellen
gerne anders formatieren würden.
Einbinden mehrerer CSS-Dateien für Bildschirm-
und Druckausgabe: Hierfür könnten Sie für diese Seite eine
<!DOCTYPE html> zweite externe Datei realisieren.
<html> Eine weitere Möglichkeit besteht
<head>
<style type=“text/css“> darin, die ursprüngliche externe Datei
@import url(„[Link]“) screen; beizubehalten und die Änderungen in
@import url(„[Link]“) print; der HTML5-Datei selbst vorzunehmen.
</style>
</head> Hierzu können Sie CSS3-Regeln direkt
... im Dateikopf angeben. Gemäß den Re-
geln zur Kaskadierung haben zentrale
48
CSS3
Kaskade
HTML5-Datei CSS3-Datei ([Link])
CSS3 können extern,
<!DOCTYPE HTML> h1 {color:red;} zentral und lokal
<html> definiert werden und
<head> dabei sich widerspre-
<style type="text/css"> chende Eigenschaften
@import url("[Link]"); enthalten: Im Beispiel
h1 {color:blue;} ist die Textfarbe rot,
</style> blau und grün.
</head> Die Regel lautet,
<body> dass lokale CSS3 vor
<h1 style="color:green"> zentralen vor externen
Welche Farbe? CSS3 berücksichtigt
</h1> werden: Der Text wird
</body> deshalb grün darge-
</html> stellt.
49
2.3 Selektoren
Universalselektor Beispiel
Mit Hilfe eines Universalselektors (*) h1 {
können Sie CSS3-Eigenschaften definie- color: red;
ren, die für alle HTML5-Elemente gelten font-size: 18px;
}
sollen. Sie sparen sich hierdurch einige p {
Schreibarbeit. Im Beispiel wird allen color: black;
font-size: 14px;
Elementen eine weiße Hintergrundfar-
}
be, graue Vordergrundfarbe sowie die
Schriftart „Lucida Sans“ zugewiesen.
Universalselektor
Allgemeine Definition
* {
Eigenschaft1: Wert1;
Eigenschaft2: Wert2;
...
}
50
CSS3
Klassen
Die wenigen HTML5-Elemente reichen
zur Spezifikation von CSS3-Eigenschaf-
ten nicht aus. So ist es beispielsweise
mit einem einzigen <p>-Element nicht
möglich, unterschiedliche Absätze zu
realisieren. Um dies zu ermöglichen,
können Sie eigene Selektoren definie-
ren, die als Klassen bezeichnet werden.
Eine Klasse wird durch einen Punkt
(.) gefolgt von einem beliebigen Na- Um den Gültigkeitsbereich einer Klasse
men definiert. Einzige Einschränkung auf ein bestimmtes HTML5-Element
ist, dass der Name nicht mit einer Ziffer einzugrenzen, wird dieses Element vor
beginnen darf. Eine Klasse kann in den Punkt geschrieben. Im Beispiel
jedem beliebigen HTML5-Element mit überschreibt die mit dem Absatz <p>
Hilfe des Schlüsselworts class aufge- verbundene Klasse die Klassendefini
rufen werden. tion darüber.
Beispiel Beispiel
<!DOCTYPE html> <style>
<html> .farbe {color: red;}
<head> [Link] {color: blue;}
<meta charset=“utf-8“> </style>
<title>Klassen</title> ...
<style> <h3 class=“farbe“>Überschrift</h3>
* {font-family: ”Lucida Sans <p class=“farbe“>Hier steht ein
Unicode“;} erster Absatz</p>
.rot {color: red;} ...
.blau {color: blue;}
.gruen {color: green;}
</style>
</head>
<body>
<h3 class=“rot“>Überschrift</h3>
<p class=“blau“>Hier steht ein
erster Absatz</p>
<p class=“gruen“>Hier steht ein
zweiter Absatz</p>
</body>
</html>
51
Individualformate
Maximale Flexibilität ermöglichen – wie
der Name ausdrückt – Individualfor-
mate. Sie unterscheiden sich in ihrer
Definition von Klassen dadurch, dass
sie nicht durch den Punkt-, sondern
durch den Rauten-Operator (#) definiert
werden. Individualformate sind dafür
gedacht, dass sie nur einmal verwendet
werden. Der Aufruf im HTML-Element
erfolgt durch das id-Attribut. Pseudoklassen und -elemente
Pseudoklassen und -elemente werden
Individualformate üblicherweise mit HTML5-Elementen
Allgemeine Definition kombiniert. Bei Pseudoklassen erfolgt
die Verbindung mit dem HTML5-Ele-
#mein_id {
Eigenschaft1: Wert1; ment durch einen Doppelpunkt (:), bei
Eigenschaft2: Wert2; Pseudoelementen durch zwei Doppel-
... punkte (::).
}
In der Tabelle finden Sie eine unvoll-
Aufruf des Individualformats ständige Liste mit Pseudoklassen und
<tag id=“mein_id“>...</tag> -elementen. Wer sich näher mit diesem
Thema auseinandersetzen will, wird
Beispiel unter [Link]/cssref/
<!DOCTYPE html> css_selectors.asp fündig.
<html>
<head>
<meta charset=“utf-8“> Pseudoklassen und -elemente
<title>Individualformate</title> Pseudoklassen
<style>
* {font-family: „Lucida Sans :link unbesuchter Link
Unicode“;} :visited besuchter Link
#kursiv {color:blue;} :hover mit Maus berührter Link
span#kursiv {color:red;} (sogenannter „Mouseover“)
</style>
:active aktuell angeklickter Link
</head>
:focus ausgewähltes Element, z. B.
<body>
<h3>Überschrift</h3>
Formularfeld
<p id=“kursiv“>Hier steht ein :nth-of-type(n) N-tes Vorkommmen eines
erster Absatz.</p> HTML5-Elements. Das n in
<p>Hier steht ein <span id=“kursiv“> der Klammer kann eine Ziffer,
zweiter</span> Absatz</p> eine Funktion (z.B. 2n) oder
</body> ein Schlüsselwort (even für
</html> gerade, odd für ungerade)
sein.
Pseudoelemente
Wie bei Klassen können auch Individu- ::first-line erste Zeile
alformate auf ein bestimmtes HTML5- ::first-letter erster Buchstabe
Element beschränkt werden. Im Beispiel ::before Einfügen vor dem Element,
führt das Individualformat #kursiv mit content gibt den Inhalt an.
::after Einfügen nach dem Element,
dem <span>-Element zu einer anderen content gibt den Inhalt an.
Farbe als ohne.
52
CSS3
53
2.3.3 Kombinierte Selektoren Im Beispiel wird der graue Hintergrund
auf die Elemente <header> und <foo-
Die Kombination von Klassen, Indivi ter> übertragen. Einen roten Hinter-
dualformaten und Pseudoklassen/-ele- grund erhält hingegen nur der Absatz
menten mit HTML5-Elementen haben <p>, der Kind-Element von <article>
Sie bereits kennengelernt. CSS3 bietet ist. Der zweite Absatz ist Kind-Element
weitere Möglichkeiten, wie Sie Selek- von <div> und würde daher nur rot
toren miteinander kombinieren können. hinterlegt, wenn zwischen article und
p kein Größer-Zeichen (>) stünde.
Kombination einfacher Selektoren
Allgemeine Definition 2.3.4 Rangfolge und Spezifität
Aufzählung gleichberechtigter Selektoren
element1, element2 {...} Autoren-, Benutzer- und Browser-
Stylesheets
Beschränkung auf element2 innerhalb von element1 In den vergangenen Abschnitten haben
element1 element2 {...}
Sie die Möglichkeiten kennengelernt,
Beschränkung auf element2 als Kind-Element von die Sie als Autor einer Website zur
element1 Definition von CSS3-Selektoren haben.
element1 > element2 {...} Sie werden deshalb auch als Autoren-
Beispiel Stylesheets bezeichnet.
Jeder Browser zeigt HTML5-Seiten
<!DOCTYPE html>
<html> an – auch wenn kein Stylesheet defi-
<head> niert ist. Er verwendet hierzu voreinge-
<meta charset=“utf-8“> stellte Browser-Stylesheets, die allen
<title>Kombination</title>
<style> HTML5-Elementen bestimmte Grund
* {font-family:“Lucida Sans eigenschaften und Werte zuordnen.
Unicode“;}
Die dritte Möglichkeit besteht darin,
header,footer{background-color:
silver;} dass der Anwender im Browser eigene
article > p {color: white; Einstellungen vornimmt. Durch diese
background-color:red;}
</style>
Benutzer-Stylesheets wird es beispiels-
</head> weise möglich, die Schriftgröße an das
<body> Display oder die Lesegewohnheiten
<header><p>Kopfbereich<p></header>
<article><p>Mein Textbeitrag</p>
anzupassen.
<div><p>Hier noch mehr Text.</p> Welche Stylesheets werden verwen-
</div></article> det, wenn sich die Autoren-, Benutzer-
<footer><p>Fußbereich</p></footer>
</body> und Browser-Stylesheets widerspre-
</html> chen?
Rangfolge
Autoren- werden vor Benutzer- und diese werden vor
Browser-Stylesheets berücksichtigt.
54
CSS3
55
Selektor(kombination) A B C D Beispiel
Einfache Selektoren
Universalelement 0 0 0 0 * {...}
HTML5-Element 0 0 0 1 body {...}
Klasse oder Pseudoklasse 0 0 1 0 .rot {...}
Individualformat 0 1 0 0 #blau {...}
Lokale style-Definition 1 0 0 0 <p style=“...“>...</p>
Kombinierte Selektoren (Beispiele)
HTML5-Element:Pseudoklasse 0 0 1 1 a:hover {...}
HTML5-Element HTML5-Element 0 0 0 2 article p {...}
Individualformat HTML5-Element 0 1 0 1 #blau p {...}
Individualformat HTML5-Element:Pseudoklasse 0 1 1 1 #rot a:hover {...}
56
2.4 Maßeinheiten CSS3
57
2.5 Farben
Dezimale Farbdefinition
rgb(xxx,xxx,xxx)
Rotanteil Blauanteil
Grünanteil
C
B Die „xxx“ stehen in diesem Fall für
A
dezimale Farbwerte. Sie können wahl-
58
CSS3
59
2.6 Typografie
60
CSS3
61
Schrifteigenschaften (Fortsetzung) Absätze
Zeichenabstand Zeilenumbruch
letter-spacing: 0.2em; white-space: normal; Text umbricht am
letter-spacing: 1px; rechten Browserrand
white-space: pre; Text umbricht wie im
Hinweis: Editor gesetzt
Alternativ können Sie font-stretch verwenden.
Beispiel
Wortabstand ...
word-spacing: 0.5em; <style>
word-spacing: 2px; [Link] {white-space:normal;}
[Link] {white-space:pre;}
</style>
Schriftfarbe (siehe Seite 58) ...
color: black; <p class=“ohne“>Dies ist ein Text,
color: #0000FF; der den Textumbruch demonstriert.</p>
color: rgb(100,200,0); <p class=“mit“>Dies ist ein Text,
color: rgb(100%,20%,10%); der den Textumbruch demonstriert.</p>
...
Textauszeichnung
Zeilenabstand
text-decoration: none; ohne line-height: 1.5em;
text-decoration: underline; unterstrichen line-height: 18px;
text-decoration: overline; überstrichen
text-decoration: blink; blinkend Erstzeileneinzug
text-decoration: line-through; durchge-
strichen text-indent: 1.0em;
text-indent: 2mm;
Satzart
2.6.3 Zeilenumbruch text-align: left; Flattersatz, links
text-align: right; Flattersatz, rechts
Standardmäßig füllt HTML5 den zur text-align: center; Mittelachsensatz
Verfügung stehenden Platz mit Text auf, text-align: justify; Blocksatz
also bis zum rechten Rand des Browser-
Vertikale Textausrichtung
fensters. Aus diesem Grund müssen Sie
im Quellcode angeben, wo Sie Absätze vertical-align: top; oben
vertical-align: middle; mittig
haben möchten. Bei HTML5 dient hierzu vertical-align: bottom; unten
das <br>-Tag.
Seit CSS3 gibt es die Möglichkeit,
mit Hilfe von white-space den Zeilen 2.6.4 Abstände und Rahmen
umbruch aus dem Editor zu über-
nehmen und sich auf diese Weise die Bei Absätzen <p>, Überschriften <h1>
Verwendung von <br> zu ersparen. bis <h6> , Tabellen <table> und Listen
<ul> bzw. <ol> handelt es sich um so-
genannte Blockelemente. Diese können
Sie wahlweise mit einem
Innenabstand,
Außenabstand,
mit einer Rahmenlinie,
Hintergrundfarbe oder
einem Hintergrundbild versehen.
62
CSS3
Listen
Aufzählungszeichen bei <ul>
list-style-type: none; ohne
list-style-type: disc; gefüllter Kreis
list-style-type: circle; leerer Kreis
list-style-type: square; Quadrat
63
se auf die gesamte Tabelle <table>, Hintergrundfarbe oder -bild
einzelne Datenzellen <td> und teilweise Hintergrundfarbe (siehe Seite 58)
auch auf einzelne Datenreihen <tr>
background-color: #CCCCCC;
anwenden. Auf diese Weise können Sie
beispielsweise Tabellen mit abwech- Hintergrundbild
selnder Zeilenfarbe realisieren. background-image: url(“[Link]“);
Bildwiederholung
2.6.7 Hintergründe background-repeat: repeat; Wiederholung
background-repeat: repeat-y; nur senkrecht
Jedem sogenannten Blockelement background-repeat: repeat-x; nur waagrecht
einer HTML5-Datei, also beispielsweise background-repeat: no-repeat; ohne Whg.
Header <header>, Artikel <article> Bildposition
oder dem <body>, können Sie wahl-
background-position: 50px 100px;
weise eine Hintergrundfarbe oder ein background-position: 100% 50%;
Hintergrundbild zuweisen. Um das ge- background-position: top left;
samte Browserfenster mit einer Farbe background-position: bottom right;
background-position: center center;
oder einem Hintergrundbild zu verse-
hen, weisen Sie die Farbe oder das Bild Bildgröße
dem <body>-Tag zu (siehe Beispiel). background-size: 400px 300px;
Der Zugriff auf Webseiten erfolgt background-size: 100% 50%;
background-size: contain;
mit unterschiedlichen Endgeräten wie background-size: cover;
Laptops, Tablets oder Smartphones. Da
Scrollverhalten
sich diese Geräte hinsichtlich Seitenver-
hältnis und Auflösung unterscheiden, background-attachment: scroll; Bild scrollt
background-attachment: fixed; Bild fest
brauchen Sie einen Hintergrund, der
sich an die unterschiedlichen Display- Beispiel
größen anpasst. Hierfür gibt es fol- <style>
gende Möglichkeiten: body {margin:0px;
background:#333;
background-image:url(“[Link]“);
Bildwiederholung background-position: 100% 50%;
Standardmäßig wird ein Bild links background-repeat:no-repeat;
background-size:cover;
oben platziert und mehrfach darge-
}
stellt, wenn das Browserfenster größer </style>
ist als das Bild. Mit der Eigenschaft
background-repeat können Sie dies
unterbinden, indem Sie die Option no- Wichtiger als absolute Angaben in Pixel
repeat wählen. sind prozentuale Angaben, weil hier-
durch eine Anpassung an unterschied-
Bildposition liche Displaygrößen möglich wird. Die
Bei Monitoren oder Displays liegt der Angabe 100% 50% bewirkt, dass das
Nullpunkt des Koordinatensystems in Bild horizontal komplett (100 %) darge-
der linken oberen Ecke. Mit der Eigen- stellt wird und vertikal von der Bildmitte
schaft background-position geben (50 %) aus „aufgefüllt“ wird. Sie bestim-
Sie an, welchen horizontalen und men hierdurch also den Bildausschnitt,
vertikalen Abstand ein Bild von diesem der gezeigt wird, wenn das Bild nicht
Punkt haben soll. komplett in das Fenster passt.
64
CSS3
background-size: cover;
65
2.7 Layout
100 200 300 400 500 600 700 800 900 1000 1100
CSS3-Boxmodell
Blockelemente kön-
nen Sie sich als Kas
top
100
versehen werden.
Das allgemeine
Blockelement <div>
padding D
400
E
600
700
800
66
CSS3
67
Eigenschaften von Blockelementen (Fortsetzung)
Rahmen (Kurzschreibweise)
border: 3px solid black;
border: 0.5em dotted #FF0000;
Hinweis:
Alle Eigenschaften zur Formatierung von Rahmen
können auch auf einzelne Seiten begrenzt werden:
border-top- oben
border-bottom- unten
border-left- links
border-right- rechts
Beispiele:
border-top-width: 3px;
border-bottom-color: blue;
Modifiziertes Boxmodell
box-sizing: border-box;
Beispiel
<style>
div {width:100px;
height:100px;
padding:20px;
margin:10px;
Für das Platzieren von Blockelementen
background-color:#ccc;
border: 5px solid black; kamen bislang zwei Techniken in Frage:
} Positionieren mit position oder Um-
.box2 {box-sizing:border-box;
}
fließen mit float. Mit beiden Varianten
</style> können Sie auch dynamische Layouts,
... die sich an die Displaygröße des Endge-
<div>Ohne box-sizing</div>
<div class=“box2“>Mit box-sizing</div>
rätes anpassen, erstellen.
... Seit einiger Zeit steht mit dem Flex-
box-Konzept eine dritte Möglichkeit, zur
Verfügung, die für das Erstellen dyna-
rechnet schon gerne! Abhilfe schafft misch veränderlicher Layouts gedacht
eine CSS3-Eigenschaft namens box- ist, insbesondere in Kombination mit
sizing, die es ermöglicht, Breiten- und Media Queries, auf die wir ab Seite 76
Höhenangaben zu machen, die einen eingehen.
möglichen Innenabstand und Rahmen
mit einschließen. 2.7.2 Blockelemente positionieren
Das Beispiel verdeutlicht die Funk
tionsweise: Die obere Box ist um 60 Die CSS3-Eigenschaft position stellt
Pixel breiter und höher als die untere, vier Möglichkeiten zum Platzieren von
weil die Innenabstände (2 x 20 = 40 Pi- Blockelementen zur Verfügung. Um de-
xel) und die Rahmen (2 x 10 = 20 Pixel) ren Unterschiede verstehen zu können,
hinzugerechnet werden. Die untere Box betrachten wir ein Beispiel mit jeweils
hat die gewünschte Breite und Höhe zwei verschachtelten Blockelementen.
von je 100 Pixel.
68
CSS3
69
dass ohne position-Angabe Blockele- Dynamische Layouts
mente einfach im Textfluss des Elterne- Beispiel
lements platziert werden.
<style>
* {box-sizing:border-box;
C Positionierung mit absolute }
Die Bezeichnung ist irreführend, da nav {position:absolute;
top:0%; left:0%;
das innere Element (C2) nicht absolut, width:20%; height:90%;}
sondern relativ zum Elternelement (C1) main{position:absolute;
top:0%; left:20%;
platziert wird. Die im Beispiel bei top
width:80%;height:90%;}
und left angegebenen Werte beziehen aside{position:absolute;
sich auf das Elternelement. Elemente, top:0%; right:0%;
width:20%; height:90%;}
die sich im Elternelement befinden, footer{position:absolute;
werden wie bei fixed überschrieben. bottom:0%;left:0%;
Beim Scrollen bewegen sich absolut height:10%;width:100%;}
</style>
platzierte Blockelemente mit. ...
<nav>Navigation</nav>
D Positionierung mit relative <main>Hauptbereich</main>
<aside>Nebenbereich</aside>
Das innere Element (D2) wird wie bei <footer>Fußzeile</footer>
der absoluten Positionierung relativ ...
zum Elternelement (D1) platziert. Hier-
bei werden allerdings weitere Elemente
in dieser Box berücksichtigt, so dass Flexible Layouts
sich die Angaben top und left auf die Um flexible, also sich dynamisch an
Unterkante des Textes bzw. auf den In- das Display des Endgeräts anpassende
nenabstand beziehen und der Text nicht Layouts zu realisieren, verwenden
überschrieben wird. Sie statt absoluter Angaben in Pixel
Flexible Layouts
Die große Vielzahl
an unterschiedlichen Navigation Hauptbereich Nebenbereich
Endgeräten erfordert
flexible Layouts, die
sich an die Display-
maße des jeweiligen
Endgerätes anpassen.
Diese Flexibilität kann Navigation Hauptbereich Nebenbereich
Fußzeile
Fußzeile
Navigation Hauptbereich Nebenbereich
Fußzeile
Fußzeile
70
CSS3
relative Angaben in Prozent. Betrachten float besteht vor allem darin, dass
Sie hierzu das Beispiel auf der linken sich hierdurch auf relativ einfache Weise
Seite: Bei allen Blockelementen wurden dynamische Layouts erstellen lassen.
die Werte für top, left, width und Das Beispiel demonstriert die Funk-
height prozentual angegeben. Auf die- tionsweise von float. Das Blockele-
se Weise passt sich das Layout an die mente main wird links vom Blockele-
Displaygröße des Engerätes an. ment nav und rechts vom Blockelement
aside umflossen. Im Blockelement
2.7.3 Blockelemente umfließen footer wird der Umfluss wieder auf-
gehoben. Die Angabe der Breiten und
Die häufig eingesetzte Alternative zur Höhen erfolgt prozentual, wodurch eine
Positionierung mit position ist, dass dynamische Anpassung des Layouts an
Blockelemente von anderen Elementen das Endgerät möglich wird.
umflossen werden. Sie kennen diesen Eine Besonderheit stellt das Block
Begriff vielleicht von Printlayouts, wo element wrapper dar. Der Begriff
Bilder von Text umflossen werden kön- leitet sich von to wrap (dt.: einwickeln,
nen. Diese Eigenschaft wird bei CSS3 einpacken) ab. Ein Wrapper umschließt
als float bezeichnet. Der Vorteil von den gesamten Content einer Website
und sorgt für definierte Anfangsbe-
Blockelemente umfließen dingungen, z. B., indem der Nullpunkt
Art des Umfließens in die linke obere Ecke gelegt und die
float: none; ohne Umfluss Ränder auf 0 px festgelegt werden.
float: right; Umfluss rechts
float: left; Umfluss links
2.7.4 Flexible Boxen
Umfließen beenden
clear: left; beendet Umfluss links Ein noch relativ neues, aber vielspre-
clear: right; beendet Umfluss rechts chendes Konzept zur einfachen Erstel-
clear: both; beendet Umfluss komplett lung dynamisch veränderlicher Layouts
Beispiel ist Flexbox. Seine Besonderheit ist,
dass Sie hierbei auch komplett auf
<style>
#wrapper{box-sizing:border-box; Größenangaben verzichten können,
position:absolute; also auch auf die in den letzten Kapiteln
top:0%;left:0%;
bei position und float verwendeten
width:100%;height:100%;
margin:0px;padding:0px; prozentualen Angaben.
} Stattdessen werden die als Flex-
main {height:90%;}
nav {float:left;
Items bezeichneten Blockelemente in
width:20%; height:90%;} einen sogenannten Flex-Container plat-
aside {float:right; ziert. Ihre Anordnung kann wahlweise
width:20%; height:90%;}
footer {clear:both;}
spalten- oder zeilenweise sein. Ein Flex-
</style> Container passt sich samt Inhalt an den
... zur Verfügung stehenden Platz an – er
<div id=“wrapper“>
<nav>Navigation</nav> ist also bereits dynamisch veränderlich.
<aside>Nebenbereich</aside> Jedem Flex-Item kann über die
<main>Hauptbereich</main> Eigenschaft flex-grow eine ganze Zahl
<footer>Fußzeile</footer>
</div> zugewiesen werden, die angibt, wie
stark sich das Blockelement verändern
71
darf: Dabei steht die 0 für unveränder- Flexible Boxen
lich, 1 für etwas veränderlich, 2 für noch Flex-Container definieren
stärker veränderlich usw.
display: flex;
Das Konzept wird besser verständ-
lich, wenn Sie das einfache Anwen- Anordnung der Flex-Items
dungsbeispiel betrachten: Im Flex-Con- flex-direction: row; in Reihe
tainer wurde durch flex-direction flex-direction: column; in Spalten
festgelegt, dass die Flex-Items in einer Reihenfolge der Flex-Items
Reihe (row) angeordnet werden. Die order: n;
drei Flex-Items unterscheiden sich Hinweis:
flex dadurch, dass ihnen über flex ein Bei n handelt es sich um eine ganze Zahl, wobei 1 für
unterschiedliches Ausdehnungsverhal- ganz oben bzw. ganz links steht.
Das flex-Attribut
fasst genau genom- ten zugewiesen wurde: Box 1 verändert Ausdehnungsverhalten der Flex-Items
men drei Eigenschaf-
sich nicht (flex:0) A, Box 2 dehnt sich flex: n;
ten zusammen:
flex-grow doppelt so stark aus (flex:2) B wie Hinweis:
flex-shrink Box 3 (flex:1) C. Die Anpassung an n ist eine ganze Zahl, wobei 0 für unveränderlich, 1
flex-basis unterschiedliche Display- oder Fenster- für leicht veränderlich, 2 für stärker veränderlich usw.
Wir gehen hierauf im steht (siehe auch Randbemerkung).
Rahmen dieser Ab-
größen erfolgt somit ohne prozentuale
Angaben. Beispiel
handlung nicht ein.
Das Attribut order bestimmt die <style>
Reihenfolge, in der die Flex-Items #wrapper /*siehe Seite 71*/
#flex-container{width:100%;
angezeigt werden. Die Boxen werden height:100%;
in der Reihenfolge Box 1, Box 2, Box 3 display: flex;
flex-direction:row;}
angezeigt, obwohl sie im Quellcode in
#flex-item1 {order:1; flex:0;}
umgekehrter Reihenfolge platziert sind. #flex-item2 {order:2; flex:2;}
Der Screenshot rechts unten zeigt #flex-item3 {order:3; flex:1;}
</style>
das Ergebnis, wenn flex-direction ...
von column auf row, also von Spalten <div id=“wrapper“>
auf Reihen, geändert wird. <div id=“flex-container“>
<div id=“flex-item3“>Box 3</div>
<div id=“flex-item2“>Box 2</div>
<div id=“flex-item1“>Box 1</div>
</div>
</div>
A B C
A B C
72
CSS3
73
Manchmal ist es gewünscht, dass sich
ein Blockelement wie ein Inline-Element
verhält – oder umgekehrt. Zu diesem
Zweck dient die CSS-Eigenschaft dis-
play, die Sie im vorherigen Abschnitt
bereits zur Definition von Flexboxen
kennengelernt haben.
A
Umwandlung Blockelement – Inline-Element
display: block; Blockelement
display: inline; Inline-Element
display: inline-block; Kombination
display: none; ohne Anzeige
B
Beispiel
...
1 <style>
2 a {border: 1px solid black;
3 width:60px;
4 height:40px;
5 }
6 #i {display:inline; C
7 }
8 #b {display:block;
9 }
10 #ib {display:inline-block;
11 }
12 </style>
13 ...
B Blockelement
14 <h3>Blockelemente</h3> Zeile 8 bewirkt, dass die Links nun
15 <a id=“i“ href=“#“>Wer?</a> als Blockelemente behandelt werden.
16 <a id=“i“ href=“#“>Wie?</a>
17 <a id=“i“ href=“#“>Was?</a>
Sie werden untereinander dargestellt
18 <h3>Blockelemente</h3> und erhalten die in den Zeilen 3 und
19 <a id=“b“ href=“#“>Wer?</a> 4 angegebenen Maße.
20 <a id=“b“ href=“#“>Wie?</a>
21 <a id=“b“ href=“#“>Was?</a> C Inline-Blockelement
22 <h3>Inline-Blockelemente</h3> Zeile 10 erzeugt ein Inline-Element,
23 <a id=“ib“ href=“#“>Wer?</a> das sich wie ein Blockelement forma-
24 <a id=“ib“ href=“#“>Wie?</a>
25 <a id=“ib“ href=“#“>Was?</a> tieren lässt, aber im Textfluss bleibt.
2.7.7 Silbentrennung
Auch diese Eigenschaft lässt sich besser
anhand eines Beispiels verdeutlichen: Eine aus typografischer Sicht große
A Inline-Element Einschränkung von HTML5 besteht in
Wie erwähnt handelt es sich bei <a> der fehlenden Möglichkeit der auto-
um ein Inline-Element. Zeile 6 kann matischen Silbentrennung, wie wir sie
deshalb auch entfallen. Inline-Ele- von Word oder InDesign schon lange
mente werden ohne Zeilenumbruch kennen.
nacheinander dargestellt, die Angabe Mit CSS3 wurde nun mit der Eigen-
der Breite und Höhe (Zeilen 3 und 4) schaft hyphens die Möglichkeit zur
wird ignoriert. Silbentrennung geschaffen. Derzeit
74
CSS3
75
2.8 Media Queries
76
CSS3
77
2.8.3 Anwendungsbeispiel Beispiel
1 <style>
Das Beispiel zeigt, wie Sie mit Hilfe 2 #wrapper /*siehe Seite 71*/
von Flexboxen und Media Queries in 3 @media screen and (min-width:800px){
Abhängigkeit von der Bildschirmbreite 4 #container {height:90%;
5 display: flex;
eine unterschiedliche Anordnung der 6 flex-direction:row;}
Blockelemente erreichen können. Dabei 7 nav#waag {display:none;}
8 nav#senk {order:1; flex:1;}
werden drei Fälle unterschieden:
9 }
A Die Displaybreite beträgt mind. 800 10 @media screen and (min-width:500px)
px (Zeile 3): Die Flexboxen werden 11 and (max-width:800px){
12 #container {height:85%;
in der Reihe angeordnet (Zeile 6) 13 display: flex;
und die waagrechte Navigation wird 14 flex-direction:row;}
ausgeblendet (Zeile 7). 15 nav#waag {height:30px;}
16 nav#senk {display:none;}
B Die Displaybreite liegt zwischen 17 }
500 und 800 px (Zeile 10/11): Auch 18 @media screen and (max-width:500px){
in diesem Fall werden die Flexbo- 19 #container {height:85%;
20 display: flex;
xen in Reihe angeordnet (Zeile 14), 21 flex-direction:column;}
allerdings sind es nur zwei, weil der 22 nav#waag {height:30px;}
senkrechte Navigationsblock ausge 23 nav#senk {display:none;}
24 }
blendet wird (Zeile 16). 25 main {order:2; flex:2;}
C Die Displaybreite beträgt maximal 26 aside {order:3; flex:1;}
500 px: Nun werden die Flexboxen 27 footer {height:30px;}
28 </style>
in einer Spalte angeordnet (Zeile 21) 29 ...
und die senkrechte Navigation wird 30 <div id=“wrapper“>
wieder ausgeblendet (Zeile 23). 31 <nav id=“waag“>Navigation</nav>
32 <div id=“container“>
Sie erkennen an diesem Beispiel, dass 33 <main>Hauptbereich</main>
es relativ einfach ist, ein veränderliches 34 <nav id=“senk“>Navigation</nav>
35 <aside>Nebenbereich</aside>
Layout zu generieren. Auf die Anpas-
36 </div>
sung an mobile Endgeräte gehen wir 37 <footer>Fußzeile</footer>
im abschließenden Beispiel ab Seite 85 38 </div>
39 ...
ein.
A B C
78
2.9 Animation CSS3
79
Zeilen 13/14: weitere Schlüsselbilder. Die Grafik zeigt
Diese Zeilen rufen die Animation mit eine derartige Animation mit neun
ihrem Namen (hier: bewegung) auf Schlüsselbildern (rote Punkte). Die
und legen die Dauer (hier: 2 s) fest. erforderlichen Koordinaten lassen sich
Zeilen 15/16: beispielsweise ermitteln, indem Sie die
Die Angaben entsprechen dem Kurve auf Millimeterpapier aufzeichnen.
Endzustand der Animation. Sie sind Alternativ können Sie auch Illustrator
erforderlich, weil sonst die Anzeige verwenden, um die Koordinaten zu
nach der Animation wieder auf den ermitteln.
Anfangszustand zurückspringt. Genau genommen handelt es sich
Die animierte Box steht hier nur stell- auch bei neun Schlüsselbildern um
vertretend für einen beliebigen Inhalt, keine „echte“ Kurve, weil die Abschnitte
den Sie im <div>-Element platzieren zwischen zwei Punkten wieder linear
können. Auf diese Weise ist beispiels- berechnet werden (rote Linie). Durch
weise eine Laufschrift oder animierte Einfügen weiterer Schlüsselbilder, zum
Bildfolge möglich. Beispiel bei horizontal 25 und 375 Pi-
xeln ließe sich das Ergebnis verbessern.
Kurvenförmige Bewegung Aber das Auge lässt sich auch ganz
Mit zwei Schlüsselbildern sind aus- gut täuschen, vor allem bei schnellen
schließlich geradlinige (lineare) Bewe- Bewegungen.
gungen möglich. Wenn Sie eine Bewe- Bei der Umsetzung mit CSS3 erset-
gung entlang einer beliebigen Kurve zen Sie einfach die Angaben from{}
realisieren wollen, dann brauchen Sie und to{} durch Prozentangaben.
80
CSS3
Umgekehrte Richtung:
Zeilen 4 bis 12: animation-direction: reverse;
Die Prozentangaben sollten in etwa
Abwechselnd (bei Wiederholung):
mit den Teilstrecken übereinstimmen, animation-direction: alternate;
damit für eine längere Strecke auch
mehr Zeit zur Verfügung steht. Da die Art der Bewegung
erste und letzte Strecke länger ist als Verzögerung am Anfang und Ende (Default):
die restlichen, sehen wir hierfür je animation-timing-function: ease;
20 % der Zeit vor und für die übrigen Verzögerung am Ende:
Strecken je 10 %. Die Werte für top animation-timing-function: ease-out;
und left entstammen der Grafik auf Verzögerung am Anfang:
der linken Seite. animation-timing-function: ease-in;
Zeilen 20/21: Gleichförmige Bewegung:
Beim Abspielen stellen Sie fest, dass animation-timing-function: linear;
die Animation ruckelig abläuft. Dies Anhalten der Animation
liegt daran, dass ein Objekt stan-
Animation läuft (Default):
dardmäßig nach einem Schlüsselbild animation-play-state: running;
beschleunigt und vor einem Schlüs-
Animation stoppen:
selbild abgebremst wird. Diese Ei- animation-play-state: paused;
genschaft heißt animation-timing-
function und kann auf linear Verzögerter Beginn der Animation
gesetzt werden, um eine gleichmä- animation-delay: 10s;
ßige Bewegung zu erhalten.
81
2.9.3 Transformationen 2D-Transformationen (Beispiel)
1 ...
2D-Transformation 2 <style>
Mit CSS3 können Sie Objekte auch 3 @keyframes skalieren{
transformieren, also in ihrem Aussehen 4 from {transform:scale(1.0,1.0)}
5 to {transform:scale(2.0)}
verändern. Die wichtigsten Transforma- 6 }
tionen sind: 7 #box1{position:absolute;
8 width:50px; height:50px;
Skalieren A
9 top:50px; left:125px;
Rotieren B 10 background-color:#F00;
Neigen C 11 transform:scale(2.0,2.0);
12 animation-name:skalieren;
Das Beispiel zeigt eine Vergrößerung 13 animation-duration:1s;
um Faktor 2, eine Drehung im Uhrzei- 14 }
gersinn um 45 ° sowie eine Neigung um 15 @keyframes drehen {
16 from {transform:rotate(0deg)}
20° horizontal und 10° vertikal. 17 to {transform:rotate(45deg)}
18 }
2D-Animationen 19 #box2{position:absolute;
20 width:100px; height:100px;
Mit CSS3 können Sie 21 top:200px; left:100px;
Grafiken skalieren, 22 background-color:#F00;
drehen oder verzer- 23 transform:rotate(45deg);
ren. A 24 animation-name:drehen;
25 animation-duration:1s;
26 }
27 @keyframes neigen{
28 from{transform:skewX(0deg)
29 skewY(0deg)}
30 to {transform:skewX(-20deg)
31 skewY(-10deg)}
32 }
33 #box3{position:absolute;
B 34 width:100px; height:100px;
35 top:400px; left:100px;
36 background-color:#F00;
37 transform:skewX(20deg)
38 skewY(10deg);
39 animation-name:neigen;
45° 40 animation-duration:1s;
41 }
42 </style>
43 ...
44 <div id=“box1“></div>
45 <div id=“box2“></div>
46 <div id=“box3“></div>
C 47 ...
10°
Zeile 4/5:
Die Werte in der Klammer geben
den Multiplikator in horizontaler und
vertikaler Richtung an. Die Angabe
20°
2.0 führt also zu einer Verdopplung
der Größe, 0.5 würde eine Halbierung
82
CSS3
3D-Transformation
Mit CSS3 können Sie auch dreidimen-
sionale Transformationen erzeugen.
Hierzu hängen Sie an rotate die
Bezeichnung der Achse an, um die sich
das Objekt drehen soll, also rotateX,
rotateY oder rotateZ.
83
Das Beispiel zeigt die Animation eines 23). Bei der Wiederholung ändert sich
Schriftzugs, der einerseits skaliert wird, durch alternate die Richtung (Zeile
andererseits seine Farbe von transpa- 24/25).
rent in Rot ändert.
Animation von Pseudoklassen (Beispiel)
1 ...
2 <style>
3 @keyframes button{
4 from{transform:scale(1);
5 background-color:silver;}
6 to {transform:scale(1.5);
7 background-color:red;}
8 }
9 a {
10 text-decoration:none;
11 text-align:center;
12 padding:10px;
13 background-color:silver;
14 color: black;
15 display:inline-block;
16 width:100px;
17 }
18 a:hover{
19 background-color:red;
20 color:white;
21 animation-name: button;
22 animation-duration:0.5s;
23 animation-iteration-count:2;
24 animation-direction:
25 alternate;
26 }
27 </style>
28 ...
29 <a href=“#“>Kontakt</a>
2.9.4 Animation von Pseudoklassen 30
31
<a href=“#“>Impressum</a>
<a href=“#“>Neu</a>
32 ...
Animationen können auch dazu dienen,
dem User eine Rückmeldung zu geben,
wo er sich gerade mit der Maus befin-
det. Um die Position der Maus abzufra-
gen, sehen die CSS3 die sogenannten
Pseudoklassen vor, die wir auf Seite 52
vorgestellt haben. Diese Klassen lassen
sich zur Animation nutzen.
Das Beispiel realisiert eine Anima-
tion, bei der sich ein mit der Maus
berührter Button auf 150 % vergrößert
und seine Farbe in Rot ändert. Danach
verkleinert er sich wieder auf Ausgangs-
größe, bleibt aber Rot, solange sich die
Maus auf der Schaltfläche befindet. Die-
ser Effekt wird dadurch erreicht, dass
die Animation zweimal abläuft (Zeile
84
2.10 Responsive Webdesign CSS3
85
Flexibles Layout
Die Grafiken zeigen,
wie sich das Layout
an die Größe des
Browserfensters bzw.
an das jeweilige End-
gerät anpassen soll.
Header
Navigation
Content
Footer
Background
Browser
86
CSS3
87
lution) oder die Pixeldichte (pixel- [Link]
ratio) hinzuziehen.
1 @charset “utf-8“;
Zeilen 30/46: 2 body {margin:0px;
Dieser „Container“ ist für die Verwen- 3 padding:0px;
dung von Flexboxen erforderlich. 4 background-color:black;
5 font-family:‘Source Sans
Zeilen 25–29 und 31–35: 6 Pro‘,sans-serif;
Die Navigationsleiste ist doppelt 7 font-size:1em;
8 max-width:1280px;
vorhanden, einmal für die waagrechte
9 margin:0 auto;}
und einmal für senkrechte Anzeige. 10 img {width:100%;}
Die jeweils nicht benötigte Version 11 h1 {color:#ddd;
12 font-weight:200;
wird später mittels CSS3 ausgeblen- 13 margin-top:0px;
det. 14 padding-top:20px;
15 padding-left:10px;}
16 h2 {font-weight:300;
2.10.4 CSS3 17 color:#999;
18 padding-left:10%;}
Aus dem Briefing ergeben sich insge- 19 p {font-weight:400;
20 color:#333;
samt fünf unterschiedliche Möglich- 21 padding-left:10%;
keiten: Für mobile Endgeräte muss 22 padding-right:10%;
zwischen senkrechter und waagrechter 23 border-right:1px solid
24 #C0C0C0;}
Ausrichtung unterschieden werden. Für 25 a {font-weight:300;
Monitore ändert sich das Layout abhän- 26 color:#333;
gig von der Fensterbreite dreimal. 27 text-align:left;
28 padding:10px;
Wie Sie im HTML5-Listing gesehen 29 text-decoration:none;}
haben, werden zur Umsetzung drei 30 [Link]{border-right: 1px solid
CSS3-Dateien verwendet. 31 #333;}
32 [Link]{border-bottom: 1px solid
In [Link] werden alle Einstel- 33 #333;}
lungen definiert, die immer gelten. 34 header{background-color: #2e4105;
35 padding-top: 0px;}
[Link] definiert die Besonder-
36 article{flex:1;
heiten für mobile Endgeräte. 37 color:black;
[Link] enthält die Media Queries 38 background-color:#ddd;}
39 footer{background-color:#2e4105;
für Monitore bzw. unterschiedliche 40 height: 30px;}
Fensterbreiten. 41 [Link]{background-color:#d2d2d2;}
42 [Link]{background-color:#d2d2d2;}
Basiseinstellungen
In der CSS3-Datei [Link] werden
alle global gültigen Einstellungen Content oben mittig im Browserfens
getroffen. Dies betrifft die Schrift, die ter ausgerichtet wird.
Vorder- und Hintergrundfarben, Innen- Zeile 10:
und Außenabstände und Rahmen. Durch die Prozentangabe werden Bil-
Zeile 8: der „flüssig“, passen sich also an den
Durch Angabe einer maximalen Breite zur Verfügung stehenden Platz an.
wird erreicht, dass bei einem noch Zeile 36:
größeren Fenster links und rechts ein Die Angabe macht die article zu
Rand sichtbar wird. Flexboxen. Die erforderlichen Flex-
Zeile 9: Container werden in den beiden
Diese Zeile bewirkt, dass der gesamte anderen CSS3-Dateien definiert.
88
CSS3
89
Zeilen 12–18:
Bei einer Fensterbreite über 800 Pixel
werden die Flexboxen waagrecht
(row) angeordnet. Die waagrechte
Navigationsleiste wird ausgeblendet.
Zeilen 20–29:
Auch bei einer Fensterbreite zwischen
500 und 799 Pixel werden die Flex-
boxen waagrecht (row) angeordnet.
Die senkrechte Navigationsleiste wird
aus- und die waagrechte (oberhalb
der Flexboxen) eingeblendet.
Zeilen 31–39:
Bei einer Fensterbreite bis 499 Pixel
wird das Layout einspaltig (column),
die Navigation bleibt waagrecht.
[Link]
1 @charset “utf-8“;
2 h1 {font-size:1.5em;}
3 h2 {font-size:1.2em;}
4 p {font-size:0.9em;}
5 a {font-size:1.1em;}
6 [Link] {width:60px;
7 display:inline-block;}
8 [Link] {width:80px;
9 display:block;}
10 header {height:60px;}
11
12 @media screen and (min-width:800px){
13 #container{
14 display:flex;
15 flex-direction:row;}
16 [Link]{display:none}
17 [Link]{flex:0;}
18 }
19 @media screen and (min-width:500px)
20 and (max-width:799px){
21 #container{
22 display:flex;
23 flex-direction:row;}
24 [Link]{top:60px;
25 width:100%;
26 height:40px;}
27 [Link]{display:none;}
28 }
29 @media screen and (max-width:499px){
30 #container{
Zeile 7/9: 31 display:flex;
Durch die Unterscheidung zwischen 32 flex-direction:column;}
33 [Link]{top:60px;
inline-block und block wird er-
34 width:100%;
reicht, dass die Links <a> wie Block- 35 height:40px;}
elemente behandelt und waagrecht 36 [Link]{display:none;}
37 }
bzw. senkrecht angeordnet werden.
90
2.11 Aufgaben CSS3
Vorteil von 3:
1 Bedeutung von CSS3 kennen
3.
2 CSS3 definieren
2.
3.
91
2.
4.
b. Formulieren Sie für jede der unter a.
genannten Gruppen ein Beispiel. 6 Maßeinheiten kennen
b. #999
92
CSS3
d. rgb(255,255,0) 2.
e. rgb(200,255,200)
f. rgba(0,0,100,0.5)
a. Schriftart
b. Zeichenabstand
c. Schriftgröße
d. Schriftfarbe
e. Zeilenabstand
f. Unterstreichung
a. Erstellen Sie die im Screenshot
gezeigte Webseite zunächst als reine
g. Erstzeileneinzug HTML5-Datei.
b. Gestalten Sie die Webseite mit Hilfe
von zentralen CSS3:
h. Satzart Hintergrund:
Hintergrundfarbe: weiß
Randabstand: 20 px
Headline:
9 Schriften verwenden Verdana, 1em, fett, #006
Absatz:
Sie wollen eine Schrift verwenden, die Verdana, 0.8em, schwarz
keine Systemschrift ist. Nennen Sie Tabellenzellen (außer Kopfzeile):
zwei Möglichkeiten. Verdana, 0.8em, schwarz
Hintergrundfarbe: #DDF0FF
1. Innenabstand: 10 px
Linie unten: 1px, schwarz
Kopfzeile der Tabelle:
Verdana, 0.8em, weiß
Hintergrundfarbe: #006
93
11 Layout erstellen 13 CSS3-Boxmodell kennen
Höhe:
Hintergrundfarbe:
Rahmenart:
Rahmenstärke:
Rahmenfarbe:
Außenabstand:
14 Wrapper nutzen
Setzen Sie das im Screenshot gezeigte
Layout nach folgenden Vorgaben um: a. Erklären Sie die Funktion eines
Kopf- und Fußzeile: Wrappers.
Höhe: 50 px; Farbe: schwarz
Navigation, Haupt- und Nebenbe-
reich:
Höhe: 500 px; flexible Boxen, Haupt-
bereich doppelt so breit wie äußere
Bereiche, diverse Grautöne
Innenabstände: 10 px
Schrift: Arial, 0.7 em, weiß bzw.
schwarz
94
3.1 Lösungen
3 Anhang
97
<td>1.</td> b. Werden die Daten durch einen Web-
<td>Daniel</td> server und nicht direkt im Browser
<td>7542</td> überprüft, müssen sie (eventuell
</tr> mehrfach) vom Client zum Server
<tr> und umgekehrt übertragen werden.
<td>2.</td> Dies kostet Zeit und belastet die
<td>Heike</td> Datenleitungen.
<td>6354</td>
</tr> 14 Formulare erstellen
<tr>
<td>3.</td> <!DOCTYPE html>
<td>Markus</td> <html>
<td>4788</td> <head>
</tr> <title>Formulare</title>
</table> <meta charset=“utf-8“>
</body> </head>
</html> <body>
<h3>Pizza-Blitz</h3>
11 Bildformate für Webseiten kennen <form>
<div>Pizza:</div>
a. JP(E)G, GIF, PNG <input type=“radio“
b. SVG, Canvas name=“pizza“>Margherita<br>
c. Vektorgrafiken sind verlustfrei ska- <input type=“radio“
lierbar, können an das Format des name=“pizza“>Salami<br>
Endgerätes angepasst werden. <input type=“radio“
name=“pizza“>Thunfisch<br>
12 Bilder/Grafiken referenzieren <input type=“radio“
name=“pizza“>Schinken<br><br>
a. HTML-Dateien sind reine Textdateien, <div>Extras:</div>
die keine binären Daten einbinden <input type=“checkbox“>Oliven<br>
können. <input type=“checkbox“>
b. Relative Pfadangaben: Sardellen<br><br>
<img src=“[Link]“> <div>Vorname:</div>
<img src=“bilder/ <input type=“text“ size=“30“><br>
[Link]“> <div>Nachname:</div>
<img src=“../[Link]“> <input type=“text“ size=“30“><br>
<img src=“../bilder/ <div>Straße:</div>
[Link]“> <input type=“text“ size=“30“><br>
<div>Plz/Ort:</div>
13 Formulareingaben prüfen <input type=“text“ size=“5“>
<input type=“text“ size=“19“><br>
a. Eine einheitliche, vollständige und <br><input type=“submit“
fehlerfreie Dateneingabe ist erforder- value=“Bestellung“>
lich, damit eine per Skript automati- </form>
sierte Übernahme der Daten in eine </body>
Datenbank möglich ist. </html>
98
Anhang
99
5 Rangfolge von Selektoren kennen f. text-decoration: underline;
g. text-indent: ...;
1. Absatz ist blau, weil Individualfor- h. text-align: ...;
mate vor Klassen und Tags kommen.
2. Absatz ist grün, weil lokales Style- 9 Schriften verwenden
sheet vor Individualformat kommt.
3. Absatz ist silber, da Tag <p> vor Schriftdatei auf dem Webserver zur
Universalselektor kommt. Verfügung stellen und über
4. Absatz ist rot, weil nur der Univer- @font-face einbinden
salselektor angegeben ist. Link <link ...> zur Website an-
gegeben, auf dem sich die Schrift
6 Maßeinheiten kennen befindet
100
Anhang
<th>Abkürzung</th> <header>Kopfzeile</header>
<th>Bedeutung</th> <div id=“container“>
</tr> <main>Hauptbereich</main>
... (weitere Zeilen) <nav>Navigation</nav>
</table> <aside>Nebenbereich</aside>
</body> </div>
</html> <footer>Fußzeile</footer>
</body>
11 Layout erstellen </html>
101
3.2 Links und Literatur
Blindtext-Generator Literatur
[Link]
Joachim Böhringer et al.
Browserkompatibilität von HTML5- und Kompendium der Mediengestaltung
CSS3-Tags überprüfen IV. Medienproduktion Digital
[Link] Springer Vieweg 2014
ISBN 978-3642548147
Google Webfonts
[Link] Andrea Ertel, Kai Laborenz
Responsive Webdesign: Anpassungsfähige
HTML5 auf Gültigkeit prüfen Websites programmieren und gestalten
[Link] Rheinwerk Computing 2014
ISBN 978-3836232005
HTML5- und CSS3-Handbuch
[Link]/ Clemens Gull, Stefan Münz
docs:html-handbuch HTML5 Handbuch
Franzis Verlag 2014
Statistiken zu Browser und Web ISBN 978-3645603454
[Link]
W3C-School
[Link]
Übersicht HTML5-Tags
[Link]
102
3.3 Abbildungen Anhang
103
3.4 Index
104
Anhang
105
Inline-Element (CSS3) 73 P Transparenz (PNG-24) 23
Inline-Styles 49 Truetype-Fonts 60
Interaktion (HTML5) 28 Parser 36 Typografie (CSS3) 60
PNG 23
J POST (Datenübertragung) 28 U
Pseudoelemente 52
JP(E)G 22 Pseudoklassen 52, 84 Universalselektor 50
UTF-8 7
K R
V
Kaskadierung (CSS3) 47, 49 Radiobutton 30
Keyframe-Animation (CSS3) Rahmen (CSS3) 62 Vektorgrafik 23
79 Referenzieren 18 Vererbung (CSS3) 53
Klassen (CSS3) 51 Referenzieren (HTML5) 10, Viewport 85
18, 24
L Relative Referenz 10, 18, 24 W
Responsive Webdesign 85
Layout (CSS3) 66 WAV 34
Link (HTML5) 2, 16 S Webbrowser 36
Liquid Layout 57, 85 Webfonts 60
Listen (CSS3) 63 Schaltflächen 31 WebM 34
LZW-Algorithmus 22 Schriftart (CSS3) 60 Web Open Font Format 60
Schriften (HTML5) 8 World Wide Web 2
M Selektor (CSS3) 47, 50 WWW 2
Semantische Struktur WYSIWYG-Editor 5, 46
Maßeinheiten (CSS3) 57 (HTML5) 12
Media Queries 76 Silbentrennung (CSS3) 74 X
Medientypen (CSS3) 76 Singe-page-Anwendung 19
Menu (HTML5) 30 Sonderzeichen 8 XHTML 3
Meta-Tags 11 Spezifität (CSS3) 55 XML 3
Mobile First 85 Streaming 35
MP3 34 SVG 23 Z
MP4 34 Syntax-Highlighting 4, 46
Zeilenumbruch (CSS3) 62
N T
Navigation (HTML5) 20 Tabellen
–– aufklappbar 21 –– CSS3 63
–– HTML5 15
O Tags (HTML5) 2, 6
Templates 4
OGG 34 Textauszeichnung (HTML5) 14
OGV 34 Textfeld 29
On-Demand-Streaming 35 Textlink 16
Opentype-Fonts 60 Transformation (CSS3) 82
106
CSS animations are increasingly used to replace Flash for interactive web content because they inherently support web standards without requiring external plugins, ensuring compatibility across modern devices and browsers . CSS animations offer advantages such as improved performance, accessibility, and maintainability, facilitating animations using keyframes that are efficient and seamlessly integrated within the CSS workflow . However, challenges may include managing complex animations without a dedicated timeline interface that Flash offers, potentially requiring more intricate coding knowledge and leading to higher complexity in large projects .
CSS Flexbox plays a crucial role in responsive web design by allowing developers to create fluid grid layouts that adapt to different screen sizes and orientations. It simplifies the process of aligning and distributing space among elements in a container, making it easier to design flexible and efficient layouts without the need for complex calculations or media queries . This adaptability is key in modern web development as it ensures websites are accessible and functional across diverse devices, aligning with the principles of responsive design .
HTML5 and CSS3 work together by separating content structure from presentation, with HTML5 focusing on the semantics and organization of web content, while CSS3 handles the styling and layout. This separation allows developers to use HTML5 to define the logical structure of a document without worrying about its visual representation, which is managed entirely by CSS3 . This clear separation improves maintainability and scalability, as changes to styling do not affect content and vice versa .
HTML originally was not designed to handle multimedia elements or sophisticated page layouts; it was solely for structuring text content . As web technology advanced and the demand for visually appealing, multimedia-rich websites grew, HTML had to evolve. However, since HTML was never intended for page design, complementary technologies like CSS were developed to manage design and formatting, allowing HTML to focus on the structure and content . CSS addresses needs such as layout, styling, and even basic animations, which were not possible with HTML alone .
Media queries in CSS3 enable developers to adjust the presentation of web content based on the properties of the user's device, such as screen size, resolution, and orientation. By defining specific styles for different conditions, media queries ensure that content is displayed appropriately on desktops, tablets, and smartphones . However, their limitation lies in the need for developers to manually specify conditions, which may not cover every possible situation, leading to unforeseen presentation inconsistencies on devices with unique characteristics .
CSS3 enables responsive typography by allowing developers to adjust font sizes and line heights using relative units like 'em' and 'rem', as well as media queries to adapt text styling based on device characteristics such as screen size and resolution . This flexibility ensures that text remains legible and aesthetically pleasing across different devices, improving overall web readability and user experience. By leveraging these CSS3 capabilities, developers can create interfaces that automatically adapt to provide optimal reading conditions without manual adjustments for each device type .
CSS3 transforms enable developers to create animations and graphical transformations by defining keyframes that specify the start and end states of an element, with the browser calculating intermediate frames to provide a smooth transition. This allows for transitions such as rotation, scaling, and color changes, creating dynamic visual effects without the need for external plugins . For instance, transformations like rotateX, rotateY, and rotateZ allow 3D animations, enhancing user engagement through interactive design elements .
Understanding HTML source code remains crucial for web developers because WYSIWYG editors cannot perfectly emulate how code will appear across different browsers and devices . WYSIWYG editors offer a preview but are limited in ensuring cross-browser compatibility and device-specific adjustments, which often require manual intervention in the code. Furthermore, customization and troubleshooting of web pages generally necessitate direct source code manipulation, highlighting the necessity of thorough HTML proficiency .
WYSIWYG editors, like Adobe Dreamweaver, provide a visual interface that allows developers to see how a website will appear while being developed, which can accelerate the design process . However, these editors can have limitations, such as not always accurately reflecting how a webpage will appear across different browsers and devices. Furthermore, they may not support advanced coding practices or troubleshooting, necessitating manual editing and knowledge of HTML and CSS to ensure the final product meets all requirements .
HTML, developed by Tim Berners-Lee in 1989, played a foundational role in the creation of the World Wide Web by providing a standard for marking up and linking text, which allows for navigating between pieces of content through hyperlinks. This capability departed from the linear structure of printed text, enabling non-linear navigation and creating a vast interconnected information system . Hyperlinks facilitate this by linking any HTML document to another, fostering a globally accessible web .