Skript HTML Csss
Skript HTML Csss
Kaatze
Inhalt
Aufbau von Webseiten .................................................................................................. 3
Übung: Fragen zu HTML? ................................................................................................................................. 3
Theorie: Inhalt, Layout und Animation ............................................................................................................... 3
HTML-Grundlagen ...................................................................................................... 4
Theorie: HTML-Grundgerüst ............................................................................................................................. 4
Theorie: Tags und Elemente ............................................................................................................................... 5
Übung: Tags und Elemente................................................................................................................................ 6
Zusatz: Einfache HTML-Seiten .......................................................................................................................... 7
CSS-Gestaltung ............................................................................................................ 8
Theorie: CSS...................................................................................................................................................... 8
Übung – Typselektoren für HTML-Elemente ...................................................................................................... 8
Übung – Klassenselektoren................................................................................................................................. 9
Übung – Formatierung direkt im HTML-Element ............................................................................................. 10
Übung – CSS in externer Datei ......................................................................................................................... 11
Zusatz: CSS-Formatierung ............................................................................................................................... 12
Zusatz: Docx-Dateien sind auch fast HTML ..................................................................................................... 12
Weitere HTML-Elemente ............................................................................................ 13
Theorie: Listen ................................................................................................................................................. 13
Übung: Listen .................................................................................................................................................. 14
Theorie: Bilder ................................................................................................................................................. 15
Übung: Bilder .................................................................................................................................................. 15
Theorie: Links .................................................................................................................................................. 19
Übung: Links ................................................................................................................................................... 19
Zusatz: Kleine Webseite mit Kochrezepten ....................................................................................................... 20
Theorie: Tabellen ............................................................................................................................................. 21
Übung: Tabellen ............................................................................................................................................... 22
Theorie: Absolute Positionierung ...................................................................................................................... 24
Übung: Absolute Positionierung ....................................................................................................................... 25
Zusatz: CSS3 ................................................................................................................................................... 25
Wiederholung: Bilder ....................................................................................................................................... 26
Wiederholung: Tabellen ................................................................................................................................... 27
Aufbau von Webseiten ................................................................................................ 28
Theorie: Semantisches HTML .......................................................................................................................... 28
Theorie: Navigation.......................................................................................................................................... 28
Theorie: Box-Modell ........................................................................................................................................ 28
Übung: Einspaltiges Layout .............................................................................................................................. 29
Übung: Zweispaltiges Layout ........................................................................................................................... 30
Übung: Dreispaltiges Layout ............................................................................................................................ 31
Zusatz: Erweiterungen für den <main>-Tag ...................................................................................................... 32
Übungen: Menü mit Buttons............................................................................................................................. 32
Zusatz: Menü mit Buttons und Untermenü ........................................................................................................ 32
Theorie: Webseite mit mehreren Seiten ............................................................................................................. 33
Übung: Webseite mit mehreren Seiten .............................................................................................................. 33
Projektbewertung ....................................................................................................... 34
Informatik@[Link] Webseiten 3
HTML-Grundlagen
Theorie: HTML-Grundgerüst
Das HTML-Grundgerüst ist die Basis einer Webseite. Obwohl die meisten Browser eine HTML-
Seite auch so erkennt, muss sie jedes Mal das Grundgerüst enthalten.
<!DOCTYPE html>
<html>
<head>
<meta charset=”UTF-8”>
<title>HTML-Grundgerüst</title>
</head>
<body>
</body>
</html>
Schreibe das Grundgerüst ab und speichere die Datei unter [Link] in deinem Ordner.
Um die HTML-Seite im Browser anzuschauen, musst du im Editor „Notepad++“ auf Ausführen
klicken und dann einen Browser aussuchen.
Du solltest nun eine leere Webseite sehen, denn bisher haben wir keinen Inhalt auf unserer
Seite. Oben rechts im Browser sollte nun allerdings der Titel deiner Datei stehen.
Schreibe das Gedicht ab und speichere es unter [Link]. Nutze dabei die Tabulatortaste
zum Einrücken!
<html> <p> <h1> usw. nennen wir Tags (übersetzt Markierung) oder auch HTML-Elemente. Sie
legen die Struktur einer Webseite fest.
Einige Tags stehen alleine (z.B. <br>), die meisten Tags kommen aber paarweise vor und beste-
hen dann aus einem Anfangs- und Endtag (z.B. <p></p>).
Unterscheiden müssen wir zwischen Block-Elementen und Inline-Elementen:
Block-Elemente fügen am Ende automatisch einen Zeilenumbruch ein.
<h1></h1> Überschrift (1-6)
<p></p> Absatz
<hr> Horizontale Linie (Kein End-Tag)
<br> Einfacher Zeilenumbruch (Kein End-Tag)
Inline-Elemente stehen im Textfluss und bewirken keinen Zeilenumbruch.
<em> </em> kursiv
<strong> </strong> betont
<big> </big> größerer Text
<small> </small> kleinerer Text
<sub> </sub> tiefergestellt
<sup> </sup> hochgestellt
<b> </b> fett
Diese Unterscheidungen sollten sich auch im Quelltext wieder finden.
Allgemein gilt: Im Quelltext nicht mit Zeilen und Einrückungen sparen!
6 Webseiten mit HTML und CSS (V 2.0)
Überschrift
Absatz
Absatz
Lange Absätze
In langen Absätzen benutzt
man kein <br>, sondern
schreibt alles in einer Zeile.
Der Zeilenumbruch wird dann
durch den Browser erzeugt
und passt sich automatisch
der Fenstergröße an.
8 Webseiten mit HTML und CSS (V 2.0)
CSS-Gestaltung
Theorie: CSS
CSS steht für Cascading Style Sheets (deutsch: Staffelbare Formatvorlagen).
CSS Stylesheets sind eine unmittelbare Ergänzung zu HTML.
Es handelt sich dabei um eine Sprache zur Definition von Formateigenschaften einzelner
HTML-Elemente.
o CSS kann z.B. bestimmen, dass Überschriften 1. Ordnung eine Schriftgröße von 18 Punkt
haben und mit einem Abstand von 1,75 Zentimeter zum darauf folgenden Absatz versehen
werden. Angaben dieser Art sind mit reinem HTML nicht möglich.
o CSS kann Elemente pixelgenau im Anzeigefenster positionieren.
o CSS kann zentrale Formate definieren. So kann man beispielsweise im Kopf einer HTML-
Datei zentrale Definitionen zum Aussehen einer Tabellenzelle notieren. Alle Tabellenzellen
der entsprechenden HTML-Datei erhalten dann die Formateigenschaften, die einmal zentral
definiert sind.
o CSS kann in separaten Dateien notiert werden und dann in beliebige Dateien eingebunden
werden. Dies vereinfacht ein einheitliches Layout.
Übung – Klassenselektoren
Häufig kommt es vor, dass sich einzelne HTML-Elemente von gleichnamigen unterscheiden sol-
len. So sollen z.B. nicht alle <p></p>-Absätze die gleiche Farbe bekommen.
Hier können im Style-Element Klassen erzeugt werden, die dann den HTML-Elementen zugewie-
sen werden können.
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Der Zauberlehrling</title>
<style type="text/css">
body { background: silver; }
h2 { color:midnightblue; font-size:22px; }
p { font-variant:small-caps; }
.gruen { color:#006500; }
.lila { color:purple; )
</style>
</head>
<body>
<h2>
Der Zauberlehrling
</h2>
<p class="gruen">
Hat der alte Hexenmeister<br>
Sich doch einmal wegbegeben!<br>
Und nun sollen seine Geister<br>
Auch nach meinem Willen leben.<br>
Seine Wort und Werke<br>
Merkt ich und den Brauch,<br>
Und mit Geistesstärke<br>
Tu ich Wunder auch.
</p>
<p class="lila">
Walle! walle<br>
Manche Strecke,<br>
Daß zum Zwecke,<br>
Wasser fließe<br>
Und mit reichem, vollem Schwalle<br>
Zu dem Bade sich ergieße.
</p>
</body>
</html>
<html>
<head>
<meta charset="UTF-8">
<title>Direkte Formatierung</title>
<style type="text/css">
* { font-family:'Times New Roman',Times,serif; }
Universalselektor: body{ background: silver; }
Gilt im ganzen Dokument h2 { text-align:center; border:1px solid mediumblue }
p { font-size:12px; }
</style>
</head>
<body>
<h2>
Direkte Formatierung
</h2>
<p>
Dieser Absatz ist global formatiert.
</p>
<p style="background-color:plum">
Dieser Absatz ist direkt formatiert.
</p>
<p>
Hier ist ein <b style="font-size:2em">Wort</b> formatiert.
</p>
</body>
</html>
Informatik@[Link] Webseiten 11
<!DOCTYPE html>
seite_2.htm
<html>
<head>
<meta charset="UTF-8">
<title>Seite 2</title>
<link rel="stylesheet" type="text/css" href="[Link]" media="screen" />
<link rel="stylesheet" type="text/css" href="[Link]" media="print" />
</head>
<body>
<h1>
Seite 2
</h1> Diese Zeile ist optional
<p>
Dies ist die Seite 2.
</p>
<p>
Hier geht es zu <a href="seite_1.html">Seite 1</a>
</p>
</body>
</html>
* { font-family:Verdana,sans-serif; }
body{ background: darksalmon; }
[Link]
h1 { text-align:center; border:2px solid mediumblue; background-color: lightblue; }
p { font-size:12px; }
12 Webseiten mit HTML und CSS (V 2.0)
Das Wort „Seite 2“ ist ein Link auf die andere HTML-Seite. Zu den Links kommen wir später.
Kannst du die Übung um eine Seite 3 erweitern und verlinken?
Zusatz: CSS-Formatierung
Erstelle die folgende Seite.
Die Linie hat den HTML-Tag <hr> und die CSS-Formatierung
hr { border:2px solid mediumblue; }
Die Formatierung für den p-Tag lautet
p { font-size:12px; text-align:justify; }
Weitere HTML-Elemente
(Hinweis: Auch wenn einige Zeilen des Grundgerüstes werden aus Platzgründen nicht
mehr angezeigt, sind sie trotzdem nötig!)
Theorie: Listen
Im HTML unterschiedet zwischen sortierten und unsortierten Listen. Beide werden zunächst mit
HTML erstellt und dann ggf. mit CSS gestaltet.
Beispiel: Unsortierte Liste
<ul>
<li>Deutsch</li>
<li>Mathematik</li>
<li>Englisch</li>
</ul>
Mit dem CSS-Style list-style-type: kann das Aussehen von Listenzeichen kontrollieren.
Beispiel:
<ul style="list-style-type:circle">
<li>Milch</li>
<li>Käse</li>
<li>Wurst</li>
</ul>
Übung: Listen
Erstelle eine unsortierte Liste mit einer Einkaufsliste (Natürlich mit Überschrift)
Erstelle eine sortierte Liste mit Urlaubswünschen (Auch mit Überschrift)
Erstelle eine verschachtelte Liste wie im Beispiel:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Autokauf</title>
<style type="text/css">
ul { list-style-type:circle; }
CSS-Format <ul>
</style>
</head>
<body>
<h1>
Augen auf beim Autokauf
</h1>
<ol style="list-style-type:upper-latin">
<li>Räder</li>
<ul>
<li>Alle da?</li>
<li>Luft vorhanden?</li>
</ul>
<li>Licht</li>
<ul>
<li>Leuchtet?</li>
</ul>
</ol>
</body>
</html>
Informatik@[Link] Webseiten 15
Theorie: Bilder
Bilder werden in HTML mit dem img-Element eingefügt. Das img-Element hat keinen abschlie-
ßenden Tag.
<img src=“[Link]“ alt=“Alternativtext“ />
Mit dem Attribut src wird der Pfad zum Bild angegeben. Liegt das Bild z.B. in einem Ordner
„bilder“, lautet die Pfadangabe src=“bilder/[Link]“.
Das Attribut alt legt den Text fest, den der Browser anzeigt, wenn das Bild nicht gefunden
wird. Das Attribut ist Pflicht!
Weitere HTML-Attribute sind z.B. width=“100px“ und height=“100px“ für die Bildgröße.
Ebenso kann mit dem optionalen Attribut title=““ der Bildtitel beim Überfahren angegeben
werden.
Bilder auf Internetseiten dürfen nur die Formate JPEG, GIF oder PNG haben. Dabei ist darauf zu
achten, dass die Dateigröße möglichst klein ist, um lange Ladezeiten zu vermeiden. Grundsätz-
lich gilt:
o Für die Auflösung reichen 72dpi (Dots per Inch)
o Die Bildgröße nur in Ausnahmefällen mit HTML verkleinern. Besser ist es, das Bild vor dem
Einbau mit einem Grafikprogramm zu verkleinern, z.B. mit Irfanview.
Übung: Bilder
Suche im Internet einige geeignete Bilder und speichere sie in deinem Arbeitsordner.
Erzeuge folgende Datei mit deinem Bild.
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Fortbewegungsmittel</title>
</head>
<body>
<h1>
Fortbewegungsmittel
</h1>
<h2>
LKW
</h2>
<p>
<img src="[Link]" alt="LKW" />
Zum Transport schwerer Lasten werden heute LKW eingesetzt. …
</p>
<h2>
Kamele
</h2>
</body>
</html>
16 Webseiten mit HTML und CSS (V 2.0)
Um einen schönern Umlauf des Textes um das Bild zu erreichen, müssen wir auch hier CSS
einsetzen. Wie immer gilt auch hier, entweder im Head, oder direkt im img-Tag mit style=““.
Im Head könnte es z.B. so aussehen:
<style type="text/css">
img{ float:left; margin-right:20px; margin-bottom:20px; }
</style>
Wenn man das CSS-Format float benutzt, kann es aber auch zu unerwünschten Nebeneffekten
kommen. Hier wurde die Seite sehr breit geöffnet. Achte auf die Überschrift „Kamele“:
Um zu verhindern, dass der nächste Absatz auch um ein Bild umgebrochen wird, muss man hier
den Befehl style=“clear:left“ bzw style=“clear:right“ ergänzen.
<h2 style="clear:left">
Kamele
</h2>
<p>
<img src="[Link]" alt="Kamel" style="float:right"/>
Das Kamel lebt hauptsächlich in Wüsten.
</p>
Das Pferdebild ist allerdings viel zu groß für diese Seite. Du kannst es mit den HTML-Attributen
width=“200px“ oder height=“200px“ verkleinern.
1 <p>
2 <img src="[Link]" alt="Pferd" width="200px"/>
3 Pferde sind heute nur noch selten Arbeitstiere.
4 </p>
Besser ist es, wenn du die Verkleinerung am Bild mit einem Grafikprogramm vornimmst.
Du kannst dazu z.B. das Gratis-Programm InfanView nutzen:
Informatik@[Link] Webseiten 19
Theorie: Links
Links sind die große Erfindung des Internets. Mit Links kann man von einer Seite auf eine andere
Seite springen und so durch das Internet „surfen“.
<a href=“[Link] Google Seite</a>
Ein Link besteht immer aus einem Start-Tag mit der URL, also der Adresse der zu öffnenden
Seite, einem angezeigten Text und dem End-Tag.
Anstatt Text kann zwischen den a-Tags auch ein Bild stehen.
Je nachdem, wohin der Link gehen soll, sieht die URL anders aus:
Link zu einer anderen Seite im Internet:
<a href=“[Link]
Link zu einer anderen Seite deiner Homepage:
<a href=“seite_2“>Seite 2</a>
Link zu einer anderen Seite deiner Homepage, die in einem Unterordner liegt:
<a href=“unterordner/seite_2“>Seite 2</a>
Link zu einer anderen Seite deiner Homepage, die in einem übergeordneten Ordner liegt:
<a href=“../seite_2“>Seite 2</a>
<style type="text/css">
a:link { font-weight:bold; color:blue; text-decoration:none; }
a:visited { font-weight:bold; color:silver; text-decoration:none; }
a:focus { font-weight:bold; color:red; text-decoration:underline; }
a:hover { font-weight:bold; color:green; text-decoration:none; }
a:active { font-weight:bold; color:lime; text-decoration:underline; }
</style>
Übung: Links
Erstelle folgende Seite (mit Grundgerüst!) mit dem Namen [Link] in deinem Ordner:
<body>
<h1>
Startseite
</h1>
<p>
Dies ist die Indexseite.
Dies ist der <a href="unterordner/[Link]">Link</a>.
</body>
20 Webseiten mit HTML und CSS (V 2.0)
Erstelle einen Order „unterordner“ und erstelle dort diese Datei „[Link]“:
<body>
<h1>
Inhaltsseite
</h1>
<p>
Dies ist die Inhaltsseite.
Hier gehts <a href="../[Link]">zurück</a>.
</body>
Danach solltest du zwischen den Seiten hin und her springen können.
Ergänze die CSS-Formatierung in beiden Seiten oder binde sie als externe CSS-Datei ein.
[Link]
[Link]
Theorie: Tabellen
Tabellen haben in HTML zwei Aufgaben:
Darstellung von tabellarischen Daten, z.B. Fußballergebnisse
Formatierung mit versteckten Tabellen
Der Quelltext ist für beides gleich, nur die Formatierung und der Inhalt sind verschieden.
Grundsätzlich sieht der HTML-Code für eine Tabelle so aus:
<body>
<table>
<tr>
<th>Kopfzelle 1</th>
<th>Kopfzelle 2</th>
<th>Kopfzelle 3</th>
</tr>
<tr>
<td>Inhalt 1</td>
<td>Inhalt 2</td>
<td>Inhalt 3</td>
</tr>
<tr>
<td>Inhalt 4</td>
<td>Inhalt 5</td>
<td>Inhalt 6</td>
</tr>
</body>
Wichtig: In jeder Tabellenzeile muss die gleiche Anzahl von Zellen vorkommen.
Übung: Tabellen
Erstelle folgende Tabellen:
Soll nur eine Spalte eine bestimmte Größe erhalten, gibt man im ersten Tag der Spalte die
Breite an: <th style="width:200px">Adresse</th>
Sollen in einer Tabelle zwei nebeneinander liegende Zellen verbunden werden, benutzt man das
Attribut colspan.
<table>
<tr>
<th colspan="2">Zelle über 2 Spalten</th>
</tr>
<tr>
<td>rechte Zelle</td>
<td>linke Zelle</td>
</tr>
</table>
Um mehrere untereinander liegende Zellen zu verbinden, nutzt man hingegen das Attribut
rowspan.
<table>
<tr>
<td rowspan="2">Zelle über 2 Zeilen</td>
<td>obere Zelle</td>
</tr>
<tr>
<td>untere Zelle</td>
</tr>
</table>
Um ein Schachbrett zu erzeugen, benutzt man eine CSS-Klasse schwarz und weist sie dann
abwechselnd den Zellen zu. <style type="text/css">
.black{background:black; }
</style>
<style type="text/css">
* { font-family:Verdana,sans-serif;
text-align:center; }
table, td, th {border: 1px solid #85CD2E;
border-collapse: collapse} /* kein doppelter Rahmen */
table { width:550px; }
th { font-size:14px;
padding:6px;}
td { font-size:10px;
height:14px;
padding:3px; /* Innenabstand */
min-width:35px; } /* Mindestbreite */
.stark { background:red; }
.mittel { background:orange; }
.schwach{ background:yellow; }
</style>
24 Webseiten mit HTML und CSS (V 2.0)
<body>
<div style="position:absolute; top:130px; left:300px">Text</div>
</body>
Das Div-Element ist dazu da, einen bestimmten Bereich mit CSS zu formatieren. Es hat ansonsten nur
die Auswirkung, dass nach dem End-Div-Tag automatisch ein Absatz gesetzt wird.
Gibt man dem Div-Element weitere CSS-Attribute hinzu, erhält das Element z.B. einen
Rahmen oder einen Hintergrund.
9 <body>
10 <div style="position:absolute; top:130px; left:300px">Text1</div>
11 <div style="position:absolute; top:30px; left:100px; width:200px;
12 height:100px; background-color:#FFDF00; border:1px solid #804000;">
13 Text 2
14 </div>
15 </body>
Informatik@[Link] Webseiten 25
9 <body>
10 <div style="position:absolute; top:130px; left:300px">Text1</div>
11 <div style="position:absolute; top:30px; left:100px; width:200px;
12 height:100px; background-color:#FFDF00; border:1px solid #804000;">
13 Text 2
14 </div>
15 <div style="position:absolute; top:80px; left:110px; width:200px;
16 height:100px; background-color:green; border:1px solid #804000;">
17 Text 3
18 </div>
19 </body>
20 </html>
Erstelle eine Webseite mit mehreren Ebenen, die auch Bilder enthalten.
Zusatz: CSS3
Mit CSS3 kannst du Schattierungen oder abgerundete Rahmen erstellen. Wenn du in
einer Suchmaschine „CSS3 generator“ eingibst, findest du Webseiten, mit denen du
dies einfach erstellen kannst.
Nutze dies für die absolute Positionierung oder Tabellen.
26 Webseiten mit HTML und CSS (V 2.0)
Wiederholung: Bilder
Schreibe handschriftlich den Quelltext für diese Seite auf. (Auch das Grundgerüst!).
Die Bilder heißen Hamburg_1.jpg und Hamburg_2.jpg. Den wiederholten Text musst
du nur andeuten.
Erstelle eine ähnliche Seite mit Texten und Bildern deiner Wahl am PC
Informatik@[Link] Webseiten 27
Wiederholung: Tabellen
Schreibe handschriftlich den Quelltext für diese Seite auf. (Auch das Grundgerüst!).
Die CSS-Angaben lauten folgendermaßen:
<footer> <footer>
Das Main-Element kann <article>-Tags enthalten, um auch hier weiter zu untergliedern.
<header>, <aside> und <footer> können natürlich auch weggelassen werden, um den
Quelltext zu vereinfachen.
Theorie: Navigation
Will man nicht nur eine einzelne Seite erstellen, benötigt man ein Navigationsmenü, um zwischen
den verschiedenen Seiten des Web-Auftrittes (Website) wechseln zu können.
Momentan ist es üblich, die Navigationspunkte in eine unsortierte Liste <ul> zu schreiben und dann
mit CSS zu formatieren.
Theorie: Box-Modell
Das Box-Modell zeigt, welche Bedeutung die Größen- und Abstandsattribute haben:
Informatik@[Link] Webseiten 29
Dann folgt die Erweiterung des Style-Elements (Neuerungen sind fett gedruckt):
<style type="text/css">
* { margin:0px;
padding:0px;
border: 0px; }
header, footer { background-color: #DDDDDD;
padding: 5px;
text-align: center; }
nav { background-color: #BBBBBB;
height: 30px;
padding: 5px 0px 0px 0px;
text-align: center;
font-weight: bold; }
nav ul { list-style-type: none; }
nav ul li { float: left;
position: relative; }
nav ul li a { display: block;
width: 100px;
border: 1px solid #000000;
background-color: #F7932E;
padding: 2px 5px 2px 5px;
color: #000000;
text-decoration: none;
font-weight: bold; }
nav ul li a:hover { background-color: #A55E16;
color: #ffffff; }
nav ul li ul { display: none;
position: absolute; }
nav ul li:hover ul { display: block; }
nav ul li:hover ul a { display: block;
width: 100px;
color: black;
text-align: center;
background-color: yellow; }
nav ul li ul li a:hover { background-color: silver; }
</style>