Formatierung und Strukturierung
Kategorisierung der Elemente
HTML5 kategorisiert die HTML-Elemente
- Metadata: Metadaten des Dokuments (z. B.
<base>,<title>) - Flow: Inhalt des Dokuments (z. B.
<p>,<img>) - Sectioning: Einteilung des Dokuments in Abschnitte (neu) (z. B.
<section>,<nav>) - Heading: Überschriften (z. B.
<h1>,<h2>,<hgroup>) - Phrasing: Auszeichnung auf der Textebene (z. B.
<span>) - Embedded: Einbinden von Inhalten (z. B.
<iframe>,<video>) - Interactive: Elemente für die Nutzerinteraktion (z. B.
<a>,<input>)
Tags zur Strukturierung
<section>: unterteilt das Dokument in Sinnabschnitte- kann beliebig ineinander verschachtelt werden
- in jedem Abschnitt können Überschriften-Tags neu verwendet werden
<header>: markiert einführende Inhalte<footer>: markiert den Fußbereich von Abschnitten<nav>: Darstellung von Navigationselementen<aside>: Ergänzungen zu dem umgebenden Element (z. B. Seitenleiste, Kästen etc.)<article>: Abgeschlossene Inhaltsabschnitte (z. B. Blogposts)
<details>: Zusatzinformationen<summary>: Zusammenfassung zum<details>-Element<figure>: Abbildung<figcaption>: Bildbeschreibung<main>: Hauptinhalt der Seite
<h1>: Überschrift der höchsten Gliederungsebene<h6>: Überschrift der niedrigsten Gliederungsebene<p>: Textabsatz<div>: allgemeiner Block (für CSS)<span>: Inline-Element für CSS (definiert keinen Block)
Beispiel: <section>
<h1>Hauptüberschrift</h1>
<section>
<h1>Kapitel 1</h1>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</p>
<p>Nulla consequat massa quis enim. Donec pede justo.</p>
</section>
<section>
<h1>Kapitel 2</h1>
<p>Nullam dictum felis pede mollis pretium. Integer tincidunt.</p>
<p>Cras dapibus. Vivamus elementum semper nisi.</p>
</section>
<section>
<h1>Hauptüberschrift</h1>
<section>
<h1>Kapitel 1</h1>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</p>
<p>Nulla consequat massa quis enim. Donec pede justo.</p>
</section>
<section>
<h1>Kapitel 2</h1>
<p>Nullam dictum felis eu pede mollis pretium.</p>
<p>Cras dapibus. Vivamus elementum semper nisi.</p>
</section>
</section>
Beispiel: <header>, <footer>
<header>
<h1>Willkommen</h1>
<p>Willkommen in der Vorlesung Webbasierte Systeme WEB</p>
</header>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
Nulla consequat massa quis enim. Donec pede justo.</p>
<p>Nullam dictum felis eu pede mollis pretium.</p>
<footer>
(c) 2022 Thomas Smits
</footer>
Beispiel: Strukturierung (HTML 4.0)
<h1>Überschrift 1</h1> <!-- 1. -->
<h2>Überschrift 2</h2> <!-- 1.1 -->
<h3>Überschrift 3</h3> <!-- 1.1.1 -->
<h2>Überschrift 4</h2> <!-- 1.2 -->
<h3>Überschrift 5</h3> <!-- 1.2.1 -->
1. Überschrift 1
1. Überschrift 2
1. Überschrift 3
2. Überschrift 4
1. Überschrift 5
Beispiel: Strukturierung (HTML5)
<h1>Überschrift 1</h1> <!-- 1. -->
<section>
<h1>Überschrift 2</h1> <!-- 1.1 -->
<section>
<h1>Überschrift 3</h1> <!-- 1.1.1 -->
</section>
</section>
<section>
<h1>Überschrift 4</h1> <!-- 1.2 -->
<h2>Überschrift 5</h2> <!-- 1.2.1 -->
</section>
1. Überschrift 1
1. Überschrift 2
1. Überschrift 3
2. Überschrift 4
1. Überschrift 5
Zeilenumbrüche
Zeilenumbruch erzwingen und verhindern
<br>expliziter Zeilenumbruchgeschütztes Leerzeichen (verhindert Zeilenumbruch)Bindestrich bei Bedarf (soft hyphen)
Text mit<br>Umb­ruch
Logische (semantische) Formatierung
- markiert Bedeutung von Abschnitten
- macht keine Aussage über das Erscheinungsbild
- visuelle Darstellung wird über CSS definiert
- akustische Wiedergabe bei Sprachausgabe
- Beispiele
<em>: betont (emphasis)<strong>: stark betont<dfn>: Definition
- Weitere Beispiele
<cite>: Zitat innerhalb einer Zeile<blockquote>: Zitat als Block gesetzt<mark>: Markierter Text<time>: Zeit oder Datum maschinenlesbar<del>: Gelöscht<progress>: Fortschrittsbalken
Dies ist <em>betont</em> oder <strong>besonders betont</strong>.
<dfn>Definition</dfn>. <cite>Sein oder Nichtsein</cite>
oder <del>gelöscht</del>
<blockquote>
Wichtig, wichtig
</blockquote>
<p>Am <time datetime="1789-07-14">14. Juli 1789</time> wurde die
Bastille gestürmt.</p>
<p><mark>WEB</mark> - Webanwendungen (<mark>WEB</mark>) behandelt die
Entwicklung moderner Webanwendungen. Die Vorlesung <mark>WEB</mark> ist für ...</p>
<p>Sir Karl Raimund Popper ...
<figure>
<img src="img/html5-portrait.jpg" alt="Karl Popper" width="100px">
<figcaption>Sir Karl Popper, der große Philosoph</figcaption>
</figure>
</p>
<p>Fortschritt: <progress max="100" value="33">33% fertig</progress></p>
Physischen Formatierung
- Definieren das physische Erscheinungsbild
- Sollten vermieden werden
- Beispiele
<b>: fette Schrift (bold)<i>: kursive Schrift (italic)<big>: Schrift größer als normal<small>: Schrift kleiner als normal<sup>: Schrift hochgestellt<sub>: Schrift tiefgestellt<pre>: vorformatierter Text
<b>fette Schrift (bold)</b><br>
<i>kursive Schrift (italic)</i><br>
<tt>nichtproportionale Schrift (teletype)</tt><br>
Schrift <big>größer</big> oder <small>kleiner</small> als normal<br>
Schrift<sup>hochgestellt</sup><br>
Schrift <sub>tiefgestellt</sub>
<pre>vorformatierter Text</pre>
Visuelle Gestaltung
Tags zur visuellen Gestaltung sollten nicht mehr benutzt werden, sondern stattdessen CSS
- Farbangaben:
background, bgcolor, text, link, alink, vlink - Schrift:
<font>, <basefont>, compact, strike, s, u - Ausrichtung:
align, nowrap, <center> - Größe:
size, width, height - Rand:
hspace, vspace, border
HTML5 strict verbietet diese Tags und Attribute
Aufzählungen
<ol>: Nummerierte Aufzählung<ul>: Aufzählung ohne Numerierung<li>: Element einer Aufzählung (<ol>oder<ul>)
<ol>
<li>Erstens</li><li>Zweitens</li>
</ol>
<br>
<ul>
<li>Erstens</li><li>Zweitens</li>
</ul>
Tabellen
Definition von Tabellen in HTML
<table>: definiert Tabelle<tr>: eine Zeile der Tabelle (table row)<th>: eine Zelle mit Tabellenüberschrift (table header)<td>: eine Zelle mit Tabellen-Daten (table data)colspan=...: Spalten verbindenrowspan=...: Zeilen verbindenwidth=...: Breite einer Spalte oder der Tabelle angeben
Sollten nicht für Layoutzwecke missbraucht werden
Beispiel für einfache Tabellen
<table>
<tr>
<th>Kopfzelle: 1Z1S</th>
<th>Kopfzelle: 1Z2S</th>
</tr>
<tr>
<td>Datenzelle: 2Z1S</td>
<td>Datenzelle: 2Z2S</td>
</tr>
<tr>
<td>Datenzelle: 3Z1S</td>
<td>Datenzelle: 3Z1S</td>
</tr>
</table>
Beispiel für komplexe Tabellen
<table width="20%">
<tr>
<th width="60%">K1</th>
<th width="20%">K2</th>
<th width="20%">K3</th>
</tr>
<tr>
<td colspan="2" >A</td>
<td>B</td>
</tr>
</table>
<table width="20%">
<tr>
<td>C</td>
<td>D</td>
<td rowspan="2">E</td>
</tr>
<tr>
<td>F</td>
<td>G</td>
</tr>
</table>
Meta-Tags
Meta-Tags liefern Daten, die nicht angezeigt werden
- Anweisungen für Server
- Anweisungen für Browser
- Anweisungen für Suchmaschinen
Beispiele
<meta name="description" content="Web-Anwendungen"/>
<meta name="author" content="T. Smits"/>
<meta name="keywords" content="HTML, JavaScript, PHP"/>
<meta name="robots" content="noindex" />
<meta name="date" content="2022-09-26" />
<meta name="language" content="de" />
Anwendungen für Hyperlinks
Einsatzmöglichkeiten für Hyperlinks
- Querverweis (siehe …)
- Blättern (nächste Seite / vorige Seite)
- Inhaltsverzeichnis
- Stichwortverzeichnis
- freie Navigation durch die Dokumentstruktur
- Download einer Datei
- …
Aufbau eines Hyperlinks
- Hyperlinks werden über das
<a>-Tag realisiert - Format:
<a href="URL">Text</a> - URL:
protokoll://server:port/verzeichnis/datei#anker - Absolute Verweise
<a href="http://www.web.de/php/doc.htm">Dokumentation</a>- enthalten vollständige URL (inklusive Server)
- können auch auf externe Server zeigen
- Relative Verweise
- sind relativ zur aktuellen URL
<a href="php/documentation.html">Dokumentation</a> - sind relativ zum aktuellen Server
<a href="/php/documentation.html">Dokumentation</a>
Beispiele für Hyperlinks
<a href="index.html">Startseite</a>
<a href="php/documentation.html">In einem Unterverzeichnis</a>
<a href="../index.html">Übergeordnetes Verzeichnis</a>
<a href="http://www.php.net/downloads.php">Download PHP</a>
<a href="mailto:t.smits@hs-mannheim.de">Mail an Thomas Smits</a>
<a href="ftp://ftp.uni-stuttgart.de/setup.zip">Download per FTP</a>
<a href="file:///Users/thomas/Work/web/tabelle.html">lokale Datei</a>
Beispiel für Verweise in derselben Datei
<a href="#bach">Bach</a><br/>
<a href="#interpunkt">Interpunkt</a><br/>
<a href="#interpunkt">Oxmox</a><br/>
<a href="#huegel">Hügel</a>
<p id="bergen">Weit hinten, hinter den Wortbergen, fern der Länder Vokalien
und Konsonantien leben die Blindtexte.</p>
<p id="bach">Ein kleines Bächlein namens Duden fließt durch ihren Ort und versorgt sie mit den nötigen Regelialien.</p>
<p id="interpunkt">Nicht einmal von der allmächtigen Interpunktion werden die Blindtexte beherrscht: ein geradezu unorthographisches Leben.</p>
<p id="huegel">Als es die ersten Hügel des Kursivgebirges erklommen hatte, warf es einen letzten Blick zurück auf die Skyline seiner Heimatstadt Buchstabhausen, die Headline von Alphabetdorf.</p>