--- marp: true theme: gaia paginate: true backgroundColor: #fff header: "Web Engineering – DHBW Stuttgart" footer: "Michael Czechowski – SoSe 2026" title: HTML & CSS --- ![bg cover opacity:0.2](./assets/background.png) # Web Engineering **DHBW Stuttgart** · Informatik / Wirtschaftsinformatik **Sommersemester 2026** · Sitzung 2 — HTML & CSS --- # Ressourcen zum Selbstlernen - **CODE CRISPIES** — [codecrispi.es](https://codecrispi.es/) - **Online Code-Editor** — [codepen.io](https://codepen.io/pen/) - **MDN** (Mozilla Developer Network) — [developer.mozilla.org/de/](https://developer.mozilla.org/de/) - **Flexbox-Spiel** — [flexboxfroggy.com](https://flexboxfroggy.com/) - **Grid-Spiel** — [cssgridgarden.com](https://cssgridgarden.com/) # HTML – Hypertext Markup Language --- # Was ist HTML? (1/2) **H**yper**T**ext **M**arkup **L**anguage - **Keine** Programmiersprache - Am ehesten eine Formattierungssprache - Beschreibt **Struktur und Aufbau** einer Webseite ```html

Das ist ein Absatz.

``` Erfunden 1989 von Tim Berners-Lee. Aktuelle Version: HTML5 (seit 2014). --- # Was ist HTML? (2/2) - Mit HTML werden **HTML-Dokumente** beschrieben (`index.html`) - Ein HTML-Dokument beschreibt das **Document Object Model (DOM)** - Der DOM ist eine **hierarchische Baumstruktur** (Eltern, Kinder, Geschwister) - *parent* nodes / elements - *child* nodes / elements - *sibling* nodes / elements In HTML sprechen wir von **Elementen**, in JavaScript eher von **Nodes**. --- # HTML-Anatomie (1/2) ``` Opening tag Closing tag │ │ ▼ ▼

My cat is very grumpy

└────────┬─────────┘ Content └─────────────────────────────────┘ Element ``` - **Opening tag** + **Content** + **Closing tag** = **Element** - Öffnende und schließende Tags müssen identisch sein - Schließendes Tag hat ein `/` nach der Spitzklammer --- # HTML-Anatomie — Attribute ``` Attribute ┌───────────────┐

My cat is very grumpy

``` - **Attribute** stehen im opening tag - Format: `name="wert"` (Anführungszeichen empfohlen) - Mehrere Attribute durch Leerzeichen getrennt: `` --- # HTML-Anatomie (2/2) Wir unterscheiden **umschließende** und **selbst-schließende** Tags. **Umschließend:** - ` ... ` – fett-gedruckter Text (inline) - ` ... ` – Hyperlink - ` ... ` – sichtbarer Teil eines HTML-Dokuments - `
...
` – Aufklapp-Text / Akkordion **Selbst-schließend:** - `` – Bild, Vektorgrafik - `` – Eingabefeld - `` – Metadaten --- # Darstellungsebene und Metadaten ```html METADATEN DARSTELLUNGSEBENE ``` Ein HTML-Dokument besteht aus zwei Teilen: - ` ... ` – Metadaten für Browser, Suchmaschinen, Social Sharing - ` ... ` – darzustellender Inhalt, Text, Formulare --- # HTML Metadaten ```html DHBW Stuttgart ... ``` *Webseiten besuchen nicht nur Menschen, sondern auch Suchmaschinen, Bots, Screen-Reader. Metadaten helfen beim "Verstehen" der Inhalte.* --- # HTML Metadaten – Vertiefung | Tag | Funktion | |-----|----------| | `` | Browser-Tab, Suchergebnis-Titel | | `<meta charset>` | Zeichenkodierung (Umlaute!) | | `<meta viewport>` | Mobile Darstellung | | `<meta description>` | Suchergebnis-Snippet (max 160 Zeichen) | **Open Graph** (Social-Media-Vorschau): ```html <meta property="og:title" content="Artikel-Titel"> <meta property="og:image" content="https://example.com/preview.jpg"> ``` → Wirkt auf Mastodon, LinkedIn, Signal, Slack, MS Teams ... **SEO:** Google nutzt `<title>` + `<meta description>` für Ranking + Snippet. --- # HTML-Tags und Attribute ![bg right:35%](./assets/demos/tag-attribut.png) ```html <body> <p class="wichtig">Das ist ein wichtiger Absatz.</p> <p>Das ist ein gewöhnlicher Absatz.</p> </body> ``` | Teil | Bezeichnung | |------|-------------| | `<p>` | Opening Tag | | `class="wichtig"` | Attribut | | `Das ist ein wichtiger Absatz.` | Inhalt | | `</p>` | Closing Tag | --- # HTML-Tags und Attribute (selbst-schließend) ![bg right:35%](./assets/demos/input-date.png) ```html Geburtsdatum <input type="date" /> ``` | Teil | Bezeichnung | |------|-------------| | `<input ...` | Eingabefeld | | `type="date"` | Attribut *type* mit Wert *date* | | `... />` | Schließendes `/` im (öffnenden) Tag | --- # Vollständiges Grundgerüst ![bg right:35%](./assets/demos/grundgeruest.png) ```html <!DOCTYPE html> <html lang="de"> <head> <title>Portfolio von ...

Hallo Welt!

Das ist mein erster Absatz.

``` --- # Die wichtigsten Tags | Tag | Bedeutung | |-----|-----------| | `

` … `

` | Überschriften (h1 = größte) | | `

` | Absatz (Paragraph) | | ` ... ` | Hyperlink | | `` | Bild | | `