Willkommen
Wie geht es so? Ich freue mich, dass du da bist!
Die Hypertext Markup Language ist eine sogenannte Auszeichnungssprache. Mit ihr können Dokumente strutkuriert werden. Die Struktur wird mittels Verschachtelung von HTML-Elementen erreicht
HTML-Elemente werden durch sogenannte Tags gekennzeichnet. Ein Tag wird durch kleiner/grösser-Klammern gekennzeichnet. Das Element beginnt mit dem öffnenden Tag <element-name>
, dann kommt der Inhalt, dann das schliessende Tag </element-name>
:
<element-name>Inhalt</element-name>
Eine HTML-Datei hat eine vorgegebene Struktur. Gewisse Elemente müssen vorhanden sein und einige Verschachtelungen sind nicht erlaubt. Jedes Dokument hat als Grundelement ein html
-Element, das alles andere umfasst. Direkt darin ist das head
- und das body
-Element.
<html>
<head></head>
<body></body>
</html>
Das head
-Element beinhaltet Zusatzinformationen, wie der Titel der Webseite und weitere Metainformation
<html>
<head>
<title>Meine erste Webseite</title>
</head>
<body></body>
</html>
Im body
-Element wird der gesamte Inhalt der Webseite, also Text, Überschriften, Bilder, usw. verpackt.
<html>
<head>
<title>Meine erste Webseite</title>
</head>
<body>
<h1>Willkommen</h1>
<p>Wie geht es so? <strong>Ich freue mich, dass du da bist!</strong></p>
</body>
</html>
Wie geht es so? Ich freue mich, dass du da bist!
Aufgabe
webseite
. Hier kommen alle zur Webseite gehörenden Dokumente rein.index.html
abEs gibt sogenannte Block-Elemente, welche den Text strukturieren. Diese Elemente sollten nicht ineinander verschachtelt werden:
p
-Element<p>Wie geht es so?</p>
h1
-Element<h1>Willkommen</h1>
h2
bis h6
Daneben gibt es sogenannte Inline-Elemente, die verwendet werden um Textteile innerhalb eines Block-Elementes zu kennzeichen:
strong
<strong>Ich freue mich, dass du da bist!</strong>
em
<em>Ich freue mich, dass du da bist!</em>
Aufgabe
Passe deine Webseite an:
Gewisse Elemente benötigen Zusatzinformation. Diese wird mit sogenannte Attributen im öffnenden Tag drin gesetzt. Attribute bestehen aus einem festen Namen und einem variablen Wert:
<element-name attributname="attributwert">Inhalt</element-name>
img
-Elemente haben keinen Inhalt – es gibt darum kein schliessendes Tag. Das Bild ist in einer externen Bilddatei und darauf muss natürlich verwiesen werden, sonst findet der Browser die Bilddatei nicht.
<img src="bild1.jpg">
Aufgabe
Wir versuchen ein Bild einzubauen. Gehe dabei wie folgt vor:
img
-Element hinzu. Passe dabei den Wert des src
-Attributes auf den Namen der Bilddatei anKlickbare Links erzeugt man mit dem anchor
-Element. Der Inhalt des Elementes ist klickbar, die zu öffnende URI gibt man mit dem Attribut href
an.
<a href="https://www.gymkirchenfeld.ch">Meine Schule</a>
Aufgabe
kontakt.html
und verlinke dieseDie Webseite soll ja nicht nur einen tollen Inhalt haben, sondern auch grafisch etwas hermachen. Dazu formuliert man «Formatvorlagen», sogenannte Cascading Style Sheet-Regeln.
Eine Regel besteht immer aus zwei Teilen:
Wir verwenden nur den Element-Selektor (es gibt noch andere).
element-name {
}
Die obenstehende Regel gilt für alle Elemente vom Typ element-name
. Zwischen die geschweiften Klammern kommen nun die Formatierungsbefehle.
Formatierungsbefehle bestehen aus dem Namen der Eigenschaft die man formatieren möchte und einem Wert. Je nachdem was formatiert wird, stehen als Werte Farben, Masse und vordefinierte Werte zur Auswahl
element-name {
eigenschaft1: wert;
eigenschaft2: wert;
...
}
Die folgenden Regeln setzen eine andere Schriftart, machen den Hintergrund der Seite schwarz, den Text farbig und einen Rahmen um die Überschrift:
body {
font-family: Arial, Helvetica, sans-serif;
background-color: black;
}
h1 {
color: yellow;
border: 1px dotted pink;
}
p {
color: green;
}
In den HTML-Dokumenten können wir nun einen Verweis auf die CSS-Datei hinzufügen. So können auch mehrere HTML-Dokumente dieselbe CSS-Datei verwenden:
<html>
<head>
<title>Meine erste Webseite</title>
<link rel="stylesheet" href="style.css">
</head>
...
Aufgabe
webseite
als style.css
abhead
-Element deiner HTML-Dokumente einen Link zur CSS-Datei ein (Zeile 4, unterhalb von title
)Hier findest du weitere Eigenschaften:
https://wiki.selfhtml.org/wiki/CSS/Eigenschaften (opens new window)
Normalerweise müsste man eine Webseite auf einem Server im Internet veröffentlichen, sonst kann sie nicht erreicht werden. Dein Schulcomputer steht nicht direkt im Internet, jedoch bei uns im LAN des Gymers. Wenn wir darauf einen Webserver starten, so können alle anderen Geräte am Gymer auf diese Seite zugreifen.
Wir gehen wie folgt vor:
serve.cmd
in deinem Webseiten-Ordner abserve.cmd
im Datei-Explorerpython -m http.server --bind 0.0.0.0
:8000