Lässt es sich mit cremefarbenem Papier, einer Tönung, mehr Kontrast oder größerer Schrift besser lesen? Wählen Sie Ihre Farben und Ihre Schrift, einmalig für alle Seiten.

Kostenlose Lektion

Grundlagen der Webseiten im Browser

Die ganze Lektion steht hier zum Lesen. Erstellen Sie ein kostenloses Konto, um sie in einem Live-Lab auszuführen.

Container-Lab12 Min. Lesezeit8 Befehle

Drei Aufgaben auf einer Seite

Ein Café hat eine Seite mit der Mittagskarte: eine Liste von Gerichten, ein Feld zum Suchen und eine Schaltfläche für ein dunkles Design. Jemand muss sagen, was auf der Seite steht, jemand, wie sie aussieht, und jemand, was passiert, wenn man auf die Schaltfläche klickt. Im Web sind das drei Sprachen, jede mit ihrer eigenen Aufgabe.

Am Ende dieser Lektion

Notiz

Ich kann sagen, was HTML, CSS und JavaScript in einer Webseite jeweils tun, und eine Seite mit einem kurzen Skript prüfen.

Schlüsselwörter

  • HTML: die Sprache, die sagt, was auf einer Seite steht: Überschriften, Listen, Links, Formulare.
  • Element: ein Teil einer Seite, geschrieben als Tag wie h2 oder li.
  • CSS: die Sprache, die sagt, wie Elemente aussehen.
  • Selektor: der Teil einer CSS-Regel, der sagt, für welche Elemente sie gilt.
  • Deklaration: eine Einstellung in einer Regel, zum Beispiel margin: 1rem.
  • Box-Modell: jedes Element ist eine Box aus Inhalt, Innenabstand, Rahmen und Außenabstand.
  • DOM: die Seite, wie der Browser sie im Speicher hält und wie JavaScript sie lesen und ändern kann.
  • Ereignis: etwas, das auf der Seite passiert, zum Beispiel ein Klick.

Zum Einstieg: was du schon weißt

Notiz

Antworte im Kopf. 1. Worauf klickst du, um von einer Webseite zu einer anderen zu kommen? 2. Nenne zwei Dinge an einem Text auf einer Seite, die du ändern könntest, etwa seine Farbe. 3. Was erwartest du, wenn du auf der Seite auf eine Schaltfläche klickst? Antworten: auf einen Link; seine Größe, seine Schrift oder seine Farbe; etwas ändert sich oder eine Meldung erscheint.

Bevor du anfängst

Notiz

Klicke oben in der Leiste dieser Lektion auf Lab starten und warte, bis dort steht, dass es läuft. Es gibt einen Container, jupyter, und das Terminal erreicht sein Python mit docker exec jupyter, das einen Befehl darin ausführt. Er hat zwei Links. JupyterLab, der erste, ist der Editor, Port 8888. Preview (die Vorschau), der zweite, ist die Seite selbst, Port 8000. Jede Schaltfläche Ausführen unten tippt ihren Befehl ins Terminal deines Labs, einen nach dem anderen in derselben Sitzung. Wenn du zuschauen oder eigene Befehle tippen willst, klicke in der Leiste auf Terminal öffnen (neuer Tab).

Eine Seite besteht aus wenigen einfachen Dateien

ls site listet die drei Dateien der Seite auf: index.html für das, was darauf steht, style.css für ihr Aussehen und app.js für das, was sie tut. Der zweite Befehl gibt ihre Größen aus: 1373, 1125 und 1093 Byte, zusammen 3591. Das ist eine ganze Seite. Öffne Preview, um sie zu sehen, und JupyterLab, um die Dateien zu lesen.

Befehl
docker exec jupyter ls site

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Befehl
docker exec jupyter python3 steps/sizes.py

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

HTML gibt der Seite ihre Struktur

Das Skript liest index.html, wie ein Browser damit beginnt, Tag für Tag. Es zählt insgesamt 36 Tags. a und li kommen je fünfmal vor, section dreimal. Das zweite Skript gibt nur die Überschriften aus, also die Gliederung der Seite: eine h1, Lunch menu, und darunter drei h2-Überschriften. Überschriften sind nicht dazu da, Text groß zu machen. Mit ihnen sagt die Seite, worum es geht, und ein Screenreader springt zwischen ihnen hin und her.

Befehl
docker exec jupyter python3 steps/tags.py

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Befehl
docker exec jupyter python3 steps/outline.py

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Prüfe dich

Tipp

Wie viele h2-Überschriften hat die Seite, und welche ist die h1? Antwort: drei, und die h1 ist Lunch menu.

CSS-Regeln sagen, wie es aussieht, und das Box-Modell, wie groß es ist

Eine CSS-Regel besteht aus einem Selektor und Deklarationen in geschweiften Klammern. Das Skript findet 17 Regeln und 39 Deklarationen, und die am häufigsten verwendete Einstellung ist padding, sechsmal. Jedes Element ist eine Box: sein Inhalt, dann innen der Innenabstand, dann ein Rahmen, dann außen der Außenabstand. Die Regel für .dish setzt padding, margin-bottom, border und border-radius, deshalb ist jedes Gericht eine umrahmte Karte mit Luft drumherum. Treffen zwei Regeln dasselbe Element, gewinnt der genauere Selektor, bei Gleichstand die spätere Regel. Das ist die Kaskade. body.dark ist genauer als body, deshalb tauscht eine dunkle Seite die Farben. Ändere in style.css einen Wert, speichere, lade die Preview neu und führe das Skript noch einmal aus.

Befehl
docker exec jupyter python3 steps/css.py

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

JavaScript reagiert auf Ereignisse, indem es das DOM ändert

Das Skript liest app.js und zeigt, was es definiert und worauf es wartet. Es hat zwei Funktionen, filterDishes und toggleTheme, und drei Listener: submit und input am Suchfeld und click an der Schaltfläche für das Design. Tritt eines dieser Ereignisse ein, ändert die Funktion das DOM, also die Seite, die der Browser hält. Probiere es in der Preview aus: Tippe tom ins Feld, und die Liste schrumpft auf die zwei Gerichte, die diese Buchstaben enthalten; klicke dann auf Dark theme. Es gibt keine Bibliothek und keinen Netzwerkaufruf, nur das, was der Browser schon hat.

Befehl
docker exec jupyter python3 steps/js.py

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Eine Seite zu prüfen gehört zum Bauen dazu

Eine Seite, die richtig aussieht, kann trotzdem kaputt sein. Das erste Skript listet jeden Link auf und sagt, wohin er führt: Drei Links bleiben auf der Seite und finden jeweils ihr Ziel, einer führt zu einer Datei hier und einer zu einer anderen Website. Das zweite fragt den Server der Preview nach der Seite, wie es ein Browser tut, und gibt den Status 200, den Titel Lunch menu und aus, dass style.css als text/css zurückkommt. Ein Status 404 würde bedeuten, dass eine Datei fehlt, die die Seite anfordert.

Befehl
docker exec jupyter python3 steps/links.py

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Befehl
docker exec jupyter python3 steps/serve.py

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Ein häufiger Fehler

Warnung

Viele glauben, die Preview ändere sich, sobald man tippt. Das tut sie nicht. Sie zeigt die gespeicherten Dateien: Speichere im Editor und lade dann die Preview neu. Sieht die Seite unverändert aus, prüfe beides. Der Browser kann außerdem eine alte Kopie einer Datei behalten, deshalb hilft manchmal ein erzwungenes Neuladen.

Dieselben Prüfungen in einem Notebook

Öffne JupyterLab in der Leiste und doppelklicke auf start.ipynb. Seine Zellen lesen dieselben Dateien in Python: Sie zählen die Tags, listen die CSS-Regeln auf und fragen die Preview nach der Seite. Klicke auf eine Zelle und drücke Umschalt und Eingabe, um sie auszuführen. In der letzten Zelle ist Platz für deine eigene Änderung: Bearbeite style.css, speichere und zähle die Regeln noch einmal.

Abschlusscheck

Tipp

Antworte, ohne zurückzublättern. 1. Welche Sprache sagt, was auf einer Seite steht, welche, wie sie aussieht, und welche, was sie tut? 2. Wie heißen die vier Schichten des Box-Modells, von innen nach außen? 3. Was entscheidet die Kaskade? 4. Warum ändert sich die Preview nicht, wenn du nur im Editor tippst? Antworten: HTML, CSS, JavaScript; Inhalt, Innenabstand, Rahmen, Außenabstand; welche Regel gewinnt, wenn zwei dasselbe Element treffen; die Preview zeigt die gespeicherten Dateien, also speichern und neu laden.

Für Lehrkräfte

Tipp

Diese Lektion ist ein kleines Beispiel für eine Lektion, die in einem Lab abläuft: Die Schritte und die Schaltflächen „Ausführen“ sind die Lektion, und das Lab ist die eigene Kopie jeder lernenden Person. Das Lab ist ein Dienst, JupyterLab mit einer Live-Vorschau einer kleinen Seite, und nichts hier bewertet sich selbst: Die Lernenden geben ihre eigene Version der drei Dateien in site ab, aus JupyterLab heruntergeladen, und einen Satz dazu, was sie geändert haben und was es bewirkt hat. Kernpunkte: 1. HTML ist die Struktur, CSS der Stil, JavaScript das Verhalten. 2. Jedes Element ist eine Box, und die Kaskade entscheidet, welche Regel gewinnt. 3. Eine Seite wird geprüft, nicht nur angeschaut. Häufiger Fehler: zu erwarten, dass sich die Preview ändert, bevor die Datei gespeichert ist. Material: das Lab und ein Browser. Tipp: Lassen Sie die Lernenden vor dem Neuladen vorhersagen, was eine Änderung bewirkt. Die Seite und die Skripte entstehen aus festem Text, jede Kopie liefert also dieselben Zahlen. Kopieren Sie die Lektion in Ihr eigenes Modul und ändern Sie sie, oder bauen Sie im Lektionseditor über das Menü Lab eine neue von Grund auf.

Über dieses Lab und seinen Quellcode: Front-End-Web-Lab: HTML, CSS und JavaScript mit Live-Vorschau im Browser

Sie unterrichten eine Klasse? Weisen Sie diese Lektionen Ihren Lernenden zu, mit Bewertung und einem Lab für jede lernende Person.