Homepage mit HTML und CSS

Transcrição

Homepage mit HTML und CSS
Homepage mit HTML, CSS & Co.
Homepage mit HTML und CSS
Ein schneller und zielgerichteter Einstieg zur Erstellung einer Homepage
Erstellungsdatum: November 2010
Autor: Thomas von Glahn
Seite 1
Homepage mit HTML, CSS & Co.
Inhaltsverzeichnis
1.
Vorbereitende Tätigkeiten
1.1
1.2
1.3
1.4
1.5
Verzeichnisstruktur anlegen.................................................................
Dateien vorbereiten ..............................................................................
Das HTML-Grundgerüst .......................................................................
CSS-Datei einbinden............................................................................
Titel eintragen.......................................................................................
Seite
Seite
Seite
Seite
Seite
4
4
4
5
5
2.
Layout
2.1
2.2
2.3
Vorüberlegungen zum Layout .............................................................. Seite
Das Box-Modell .................................................................................... Seite
Layout erstellen .................................................................................... Seite
6
6
8
3.
Homepage mit Inhalten füllen
3.1
3.2
3.3
3.4
3.5
3.6
3.7
3.7
3.8
Überschrift im Kopfbereich...................................................................
Text im Inhaltsbereich ..........................................................................
Text im Infobereich...............................................................................
Randeinstellungen zurücksetzen .........................................................
Randeinstellungen für Texte ................................................................
Schriftarten einstellen...........................................................................
Schriftgrößen einstellen........................................................................
Grafiken/Bilder einfügen.......................................................................
Weiteren Inhalt einfügen ......................................................................
4.
Die Navigation
4.1
4.2
Platz für die Navigationsleiste .............................................................. Seite 24
Menüeinträge ....................................................................................... Seite 24
5.
Farben und Grafik
5.1
5.2
5.3
5.3.1
5.3.2
5.3.3
5.4
5.5
HTML 4 Farbtabelle..............................................................................
Hexadezimale Farbwerte .....................................................................
Farbverläufe für Hintergründe ..............................................................
Vertikaler Farbverlauf ...........................................................................
Horizontaler Farbverlauf.......................................................................
Übergang des Farbverlaufs in Hintergrundfarbe..................................
3D-Effekt für die Navigationsleiste .......................................................
Bilder und Grafiken...............................................................................
Seite 2
Seite
Seite
Seite
Seite
Seite
Seite
Seite
Seite
Seite
Seite
Seite
Seite
Seite
Seite
Seite
Seite
Seite
16
16
16
17
18
18
19
20
23
29
29
30
30
30
30
31
33
Homepage mit HTML, CSS & Co.
Einleitung
Bevor wir loslegen, ein paar Worte als Einführung in das Thema HTML und CSS.
Warum HTML-Seiten "per Hand" erstellen?
Es gibt unzählige Programme auf dem Markt, mit denen im Baukastenprinzip Internetseiten ohne
Kenntnisse von HTML oder CSS erstellt oder besser zusammengeklickt werden können. Einige sind
kostenlos, andere müssen für viel Geld erworben werden. Mit diesen Programmen kann man mit mehr
oder weniger Aufwand eine komplette Homepage erstellen und ins Internet stellen. Dennoch gibt es gute
Gründe dafür, eine Homepage manuell aufzubauen und zu entwickeln, lassen Sie mich einige davon
nennen:
•
•
•
•
•
•
es ist wesentlich einfacher, als Sie wahrscheinlich denken
es wird keine besondere Software benötigt
Sie haben absolute Kontrolle über alle Details
besondere Tricks und Effekte sind evtl. überhaupt nur manuell realisierbar
kein aufgeblähter HTML-Code, der die Dateien unübersichtlich macht
und ganz wichtig: Es macht richtig viel Spaß!
HTML (Hypertext-Markup-Language) ist eine Auszeichnungssprache für die Darstellung von Textinhalten
im Internet. Texte und Bilder werden dabei mit HTML-Strukturelementen, den so genannten Tags,
ausgezeichnet. Es gibt eine Fülle von Tags, z.B. <p> für Textabsätze oder <img> für Grafiken. Jedes
Tag besteht dabei aus einem Anfangs- und einem End-Tag, zwischen diesen beiden wird der jeweilige
Inhalt geschrieben. Die Tags werden in spitzen Klammern notiert (auf der Tastatur links neben der YTaste), wobei das End-Tag jeweils nach der öffnenden Klammer einen Schrägstrich enthält, siehe
Beispiel:
<p>Dies ist ein Textabsatz</p>
In HTML selber gibt es nur sehr eingeschränkte Möglichkeiten zur Formatierung von Inhalten. Für die
formale Ausgestaltung des Inhalts wurde CSS (Cascading Style Sheets) entwickelt. Wie der Name schon
sagt, erstellt man ein so genanntes Style Sheet, welches die zu einer HTML-Datei gehörenden
Formatierungen aufnimmt. Der Vorteil dieser separaten CSS-Style-Sheet-Datei ist, das sie für alle zu
einer Homepage gehörenden HTML-Dateien gilt. Änderungen bei einer Formatierung müssen nur an
einer einzigen Stelle (bzw. in einer einzigen Datei) durchgeführt werden und wirken sich dann auf die
gesamten Homepage aus. Wir werden diese beiden Dateien gleich zu Beginn im Abschnitt 1.2 erstellen.
Programm zum Erstellen unserer Homepage
Wenn Sie keinen HTML-Editor installiert haben, ist das kein Problem. Da HTML-Dateien reine
Textdateien sind, können Sie auch MS-Word, OpenOffice oder ein anderes Textbearbeitungsprogramm
ihrer Wahl benutzen. Sie können sogar den Text-Editor von Windows benutzen.
Sie sollten dann aber auf jeden Fall eine nicht proportionale
Schriftart wie z.B. Courier New einstellen, um die Lesbarkeit zu
verbessern und Text-Einrückungen zu vereinfachen.
Oder Sie laden den HTML-Editor Weaverslave (http://www.weaverslave.ws) aus dem Internet herunter.
Dieses Programm ist auf die Erstellung von HTML-Dateien zugeschnitten und einfach in der
Handhabung.
Die in diesem eBook verwendeten Techniken setzte ich auch auf meinen eigenen Webseiten ein. Sie
sind daher ausgiebig getestet und funktionieren in allen Browsern.
Seite 3
Homepage mit HTML, CSS & Co.
1. Vorbereitende Tätigkeiten
Bevor wir beginnen, müssen wir einige Vorbereitungen für unser Projekt treffen.
1.1 Verzeichnisstruktur anlegen
Zunächst benötigen wir eine Ordnerstruktur für unsere Homepage, wo alle Dateien und
Grafiken abgelegt werden. Diese Ordnerstruktur kann später auf einen Webserver übertragen
werden. Legen Sie folgende Verzeichnisse an:
Der Ordner Meine_Homepage nimmt alle HTML-Dateien unserer Homepage auf, während die
Grafiken und Bilder in den Ordner img kopiert werden. Das Verzeichnis css ist für die CSSDatei bestimmt, welche sämtliche CSS-Formatierungen für unsere Homepage beinhalten wird.
Als nächstes kopieren Sie bitte alle Grafiken aus dem img-Verzeichnis des eBook-Pakets in
das Verzeichnis img.
1.2 Dateien vorbereiten
Für die Homepage benötigen wir zunächst zwei Dateien, eine für den HTML-Code unserer
Startseite und eine für die CSS-Anweisungen. Erstellen Sie die erste Datei im Verzeichnis
Meine_Homepage und nennen Sie sie index.html. Wenn Sie mit Weaverslave arbeiten, öffnen
Sie das Programm und erstellen Sie über "Datei – Neu" eine neue Datei. Wählen Sie die
Vorlage "XHTML 1.0 transitional" aus und speichern Sie die Datei unter dem Namen index.html
im Verzeichnis Meine_Hompage. Diese Datei wird im weiteren Verlauf des eBooks HTML-Datei
genannt.
Die zweite Datei erstellen Sie auf die gleiche Weise im Verzeichnis css und nennen Sie
homepage.css. Löschen Sie anschließend den gesamten voreingetragenen Text, da diese
Datei kein HTML-Gerüst benötigt. Diese Datei bezeichnen wir im Folgenden als CSS-Datei.
Halten Sie beide Dateien geöffnet, da wir in beiden Dateien gleichzeitig arbeiten werden.
1.3 Das HTML-Grundgerüst
Auf das HTML-Grundgerüst soll hier nicht im Detail eingegangen werden, wir benötigen es
jedoch für den Aufbau unserer Homepage. Dieses Gerüst wurde mit Weaverslave automatisch
erstellt. Wenn Sie einen anderen HTML-Editor verwenden, sollte es so ähnlich aussehen. Sie
können den Text auch kopieren und in Word oder OpenOffice einfügen.
<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>New Document</title>
<meta http-equiv="content-type" content="text/html;
charset=iso-8859-1" />
</head>
<body>
</body>
</html>
Seite 4
Homepage mit HTML, CSS & Co.
2. Layout mit Kopfbereich und 2 Spalten erstellen
2.1 Vorüberlegungen zum Layout
Jetzt können wir beginnen, ein Layout mit einem Kopfbereich und 2 Spalten zu erstellen. Es
wird ein Inhaltsbereich auf der linken Seite und eine Info- oder Menuleiste am rechten Rand
erstellt.
Zuerst müssen wir uns Gedanken über die gesamte Breite der Homepage machen.
Üblicherweise werden diese Angaben in Pixel (px) gemacht. Stellen wir also folgende
Überlegung an:
Die gesamte Breite der Homepage soll 800 Pixel betragen, davon sollen auf den Inhaltsbereich
600 und auf den Infobereich 200 Pixel fallen. Außerdem soll der Inhaltsbereich links einen
kleinen Rand von 5 Pixeln erhalten und der Infobereich rechts auch. Die beiden Spalten sollen
zudem durch einen Abstand von 5 Pixeln voneinander getrennt werden. Das wird ungefähr
folgendermaßen aussehen:
Solche Spaltenlayouts werden mit dem HTML-Tag <div> </div> (Division) gebildet. Das
<div> Tag ist zwar ein HTML-Element, aber ohne entsprechende CSS-Formatierungen nicht
wirklich sinnvoll. Deshalb müssen wir dieser Stelle bereits CSS-Elemente einbringen. Doch
bevor wir damit beginnen, möchte ich gerne eines der wichtigsten Dinge in HTML klären:
Die Art und Weise, wie Elemente angezeigt werden – das Boxmodell.
2.2
Das Boxmodell
Es gibt zwei ganz wichtige Anzeigeformen, mit denen Elemente dargestellt werden können:
block-Elemente und inline-Elemente. Das Verständnis dieser beiden Methoden ist daher
von Bedeutung für die weitere Arbeit. Wenn man das Prinzip dieser beiden Anzeigeformen
einmal verstanden hat, ist der Rest ein Kinderspiel. Beschäftigen wir uns daher zunächst
damit.
Das block-Element
Ein block-Element ist eine Art Kasten mit Inhalt (Text oder Bilder). Es erzeugt im Normalfall
immer einen Absatz, d.h. folgende Elemente werden also darunter dargestellt. Ein blockElement verfügt über verschiedene Randeinstellungen, deren Breite z.B. in Pixel angegeben
werden kann. Ganz außen befindet sich der äußere Abstand, genannt margin, er bestimmt
Seite 6
Homepage mit HTML, CSS & Co.
den Abstand zu anderen block-Elementen. Dann folgt border, das ist ein Rahmen, den
man einstellen kann, wie z.B. einen Rahmen um eine Zelle in MS-Excel. Als nächstes haben
wir den padding-Bereich. padding definiert den inneren Abstand des Textes zum border,
also zum Rahmen. Wenn kein Rahmen eingestellt ist, ist es der Abstand zum margin. Wenn
margin auch nicht eingestellt ist, dann definiert padding gleichzeitig den Textabstand zu
den Seiten des block-Elements. Dann kommen width und height. Mit diesen beiden
Parametern kann die Höhe und die Breite eines Bereich eingestellt werden. Wenn diese
beiden Werte nicht angegeben werden, richtet sich die Größe des block-Elements nach dem
verfügbaren Platz und der Höhe des Inhalts. Die gesamte Größe dieses 'Kastens' resultiert aus
der Addition aller genannten Werte (siehe Abb. Boxmodell) Das erscheint vielleicht am Anfang
etwas kompliziert, aber Sie werden es schnell verinnerlichen. Schauen Sie sich zum
Verständnis des Prinzips auch die folgende Grafik an:
Abb.: Boxmodell
Zu den block-Elementen zählen z.B. <div>, <p>, die Überschriften <h1> bis <h6>, wir
werden diese Tags später noch kennenlernen.
block-Elemente können inline-Elemente oder weitere block-Elemente aufnehmen. Eine
solche "Verschachtelung" von block-Elementen nehmen wir auch bei unserem Layout vor,
wir kommen später noch dazu.
Das inline-Element
inline-Elemente sind Elemente, die im Prinzip innerhalb einer Zeile (Textzeile, daher auch
in line) angezeigt werden, sie brechen auch am Zeilenende automatisch um. Dazu zählen
neben den eigentlichen Textelementen u.a. Grafiken mit dem <img>-Tag. inline-Elemente
verfügen im Gegensatz zu block-Elementen über eingeschränkte Randeinstellungen:
margin wirkt nur links und rechts (margin-left und margin-right), width und
height dagegen gar nicht (wirkt nicht bedeuted, Sie können es zwar angeben, aber es hat
keinerlei Auswirkungen). border und padding hingegen können normal eingesetzt werden.
Betrachten wir mit diesem Wissen noch einmal unser Layout, diesmal mit Browserfenster:
Seite 7
Homepage mit HTML, CSS & Co.
3. Homepage mit Inhalt füllen
3.1 Überschrift im Kopfbereich
Erstellen wir zuerst eine Überschrift im Kopfbereich und einen kleinen Absatz direkt darunter in
der HTML-Datei. Für Überschriften gibt es in HTML 6 spezielle Tags, <h1> bis <h6> (engl.
header 1-6). Die Überschriften unterscheiden sich nur in der Größe der Schrift, wobei <h1> die
größte und <h6> die kleinste ist. Wir nehmen das <h1>-Tag für die größte Überschrift.
Anschließend benutzen wir das Absatz-Tag <p> (engl. paragraph) und fügen ein wenig Text
hinzu. Natürlich können Sie an dieser Stelle auch schon gerne ihren eigenen Text einfügen.
<body>
<div id="wrapper">
<div id="header">
<h1>Meine neue Homepage</h1>
<p>Viel Spaß beim Surfen auf meiner frisch erstellten
Website</p>
</div>
<div id="info"> </div>
<div id="inhalt"> </div>
</div>
</body>
3.2 Text im Inhaltsbereich
Fügen wir als nächstes eine Überschrift und etwas Text im Inhaltsbereich ein. Ich habe an
dieser Stelle den Fülltext Lorem Ipsum verwendet (http://www.loremipsum.de), den man
benutzen kann, wenn man noch keinen Text hat. Schreiben Sie an dieser Stelle ihren Text oder
kopieren Sie sich diese Textpassage:
<div id="inhalt">
<h2>Meine Reiseerlebnisse</h2>
<p>
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed
diam nonumy
eirmod tempor invidunt ut labore et dolore magna
aliquyam erat, sed diam voluptua. At vero eos et accusam et
justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea
takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum
dolor sit amet, consetetur sadipscing elitr, sed diam nonumy
eirmod tempor invidunt ut labore et dolore magna aliquyam erat,
sed diam voluptua. At vero eos et accusam et justo duo dolores
et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus
est Lorem ipsum dolor sit amet.
</p>
</div>
3.3 Text im Infobereich
Und nun noch etwas Text im Infobereich:
<div id="info">
<h3>Italien</h3>
<p>
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed
diam nonumy eirmod tempor invidunt ut labore et dolore magna
Seite 16
Homepage mit HTML, CSS & Co.
aliquyam erat, sed diam voluptua. At vero eos et accusam et
justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea
takimata sanctus est Lorem ipsum dolor sit amet.
</p>
</div>
Speichern Sie beide Dateien und schauen Sie sich das Ergebnis im Browser an.
Das Ergebnis ist etwas ernüchternd, wie Sie sehen. Der Infobereich ragt über den wrapper-Div
nach unten hinaus und die Textformatierung lässt auch noch zu Wünschen übrig.
3.4 Randeinstellungen zurücksetzen
Beschäftigen wir uns kurz mit Randeinstellungen und Abständen. Jeder Browser hat seine
eigenen vordefinierten Standardeinstellungen bezüglich Rändern und Abständen zwischen
Elementen. Diese Einstellungen können ein Konzept manchmal ganz schön durcheinander
bringen. Also machen wir Tabula Rasa mit den Standardeinstellungen: Wir setzen alle
standardmäßigen Vorgaben auf 0 Pixel zurück (man nennt dies allgemein hin auch „BrowserReset“). Natürlich müssen wir uns im Anschluss um alle Abstände und Ränder selber
kümmern, aber das ist halb so schlimm.
Fügen Sie in der CSS-Datei ganz oben eine neue Zeile ein und notieren Sie folgenden Eintrag
als erste Zeile:
* { margin: 0px; padding: 0px; }
* {
margin: 0px;
padding: 0px;
}
Wir haben gelernt, dass in CSS HTML-Elemente
notiert werden (man nennt diese in CSS auch
Selektoren) und dann in geschweiften Klammern
Formatierungs-Attribute erstellt.
Der Wildcard-Selektor * wählt alle
existierenden HTML-Elemente aus und wendet die
Attribute darauf an, d.h. für alle in HTML zur
Verfügung stehenden Tags werden die marginund padding-Einstellungen auf 0px gesetzt
Speichern Sie die Datei und aktualisieren Sie den Browser. Wie durch ein Wunder sind
plötzlich alle Abstände gleich, auch die beiden Inhalts- und Infobereich beginnen auf einer
Seite 17
Homepage mit HTML, CSS & Co.
5. Farben und Grafiken
5.1
HTML 4 Farbtabelle
Für die Einstellung von Farben gibt es verschiedene Möglichkeiten. Zum Einen können Sie
benannte Farben aus einer vordefinierten Farbtabelle, den so genannten HTML 4.01-Farben,
verwenden. Diese Tabelle enthält die folgenden 16 Farben:
Farbname
black
navy
blue
green
teal
lime
aqua
maroon
purple
olive
gray
silver
red
fuchsia
yellow
white
Farbbeispiel
Diese Farben können Sie direkt verwenden, z.B. für eine Hintergrundfarbe:
background-color: blue;
Oder für eine Schriftfarbe:
color: red;
5.2
Hexadezimale Farbwerte
Wesentlich flexibler bei der Farbgestaltung ist die Darstellung mit Hilfe von hexadezimalen
Farbwerten. Sie haben bereits solche Farbdefinitionen weiter oben eingesetzt, hier einige
kurze Erläuterungen dazu:
Der Farbwert setzt sich aus drei hexadezimalen Zahlen zusammen, jeweils eine für die drei
Grundfarben rot, grün und blau. Mögliche Werte sind dabei die Zahlen von 0-9 sowie die
Buchstaben A-F. Vorangestellt wird immer ein #-Zeichen: #RRGGBB.
Mit dieser Kombination können Sie nahezu 16,7 Mio. Farben darstellen.
Wie findet man den hexadezimalen Wert für eine bestimmte Farbe?
Zum Bestimmen hexadezimaler Farbwerte benutzen Sie am besten ein Grafikprogramm,
welches das hexadezimale Farbschema unterstütz. Ich habe PhotoImpact von Ulead im
Einsatz, ein etwas älteres Grafikprogramm für Fotobearbeitung und Vektorgrafik. Öffnen Sie
ein Bild in ihrem Grafikprogramm oder erstellen Sie eine Vektorgrafik mit der benötigten
Füllfarbe. Nehmen Sie das Pipettenwerkzeug und ermitteln Sie den Farbwert, er sollte
entweder in der Statusleiste angezeigt werden oder über die Eigenschaften der Grafik
ersichtlich sein. Den ermittelten Wert können Sie dann in den CSS-Einstellungen benutzen:
background-color: #0000FF;
background-color: #000000;
(blau)
(schwarz)
Seite 29