hier ein kleines Tutorial von mir, wie Ihr eine Navigation mit CSS erstellen könnt.
Inhalt:
1. Vorwort
2. Grundaufbau
3. CSS
4. Abschluss
1. Vorwort
Dieses Tutorial richtet sich an Leute die eher wenig Ahnung von dieser Materie haben bzw. gerade neu einsteigen. Dieses Tutorial richtet sich ausschließlich an soeben genannte Leute und wird für "Profis" wohl eher recht langweilig sein. Bedenke: Kritik ist erwünscht, wer allerdings unfair wird sollte sich darauf gefasst machen, dass ich auch ganz gut austeilen kann.
2. Grundaufbau
So, wir legen los. Der Grundaufbau unserer Navigation besteht aus 2 DIV's, einer unsortieren Liste und mehreren Listenpunkten die Links enthalten.
HTML Code:
<div id="container"> <!-- Container --> <!-- Platz für mehr --> <div id="navigation"> <!-- Die Navigation wird in einem DIV verpackt. --> <ul> <li><a href="#">Navigationspunkt 1</a></li> <li><a href="#">Navigationspunkt 2</a></li> <li><a href="#">Navigationspunkt 3</a></li> <li><a href="#">Navigationspunkt 4</a></li> <li><a href="#">Navigationspunkt 5</a></li> <li><a href="#">Navigationspunkt 6</a></li> <li><a href="#">Navigationspunkt 7</a></li> </ul> </div> <div style="clear:both"></div> <!-- Platz für mehr --> </div>
Dann erstellen wir eine Liste (<ul>) und füllen diese mit Listenpunkten (<li>). In den Listenpunkten (<li>) finden wir die Links (<a>), die uns letztendlich zu unserer Wunscheseite "linken". Um diese Links (<a>) funktionstüchtig zu machen, müsst ihr das Raute Zeich (#) durch euer Ziel z.B. impressum.php ersetzen. (Auf die Verzeichnisstruktur achten!!).
3. CSS
HTML ist nicht schwer, für Neulinge wird sicher CSS das Problem überhaupt sein. Deswegen ab hier etwas ausführlicher.
Unser CSS-Code:
Code:
* { margin:0px; padding:0px; } body, html { font-family:Arial; font-size:12px; } #container { width:1000px; height:auto; margin:auto; } #navigation { width:1000px; height:35px; background-color:#333; } #navigation ul { list-style:none; } #navigation ul li { float:left; } #navigation ul li a { width:auto; height:35px; display:block; line-height:35px; padding:0px 15px 0px 15px; text-decoration:none; background-color:#333; color:#FFF; font-weight:bold; } #navigation ul li a:hover { background-color:#666; } #navigation ul li a:active { background-color:#06F; }
Fangen wir ganz oben an:
Code:
* { margin:0px; padding:0px; }
Code:
body, html { font-family:Arial; font-size:12px; }
Code:
#container { width:1000px; height:auto; margin:auto; }
Warum?
Der Container besitzt eine feste Breite (width) von 1000px, eine automatisch festgelegte Höhe (height), je nachdem, wie groß der Inhalt des Containers ist) und zudem die Eigenschaft "margin:auto;". Diese Eigenschaft sorgt dafür, dass der Container, und dessen Inhalt, zentriert dargestellt werden.
Code:
#navigation { width:1000px; height:35px; background-color:#333; }
Code:
#navigation ul { list-style:none; } #navigation ul li { float:left; }
Unserer unsortieren Liste (<ul>) stehen normalerweise Runde Punkte voran. Eine Aufzählung nunmal. So wie die Spiegelstriche in der Schule. Durch "list-style:none" entfernen wird diese "Spiegelstrich".
Diese sehen so aus:
- So siehts aus
Im zweiten Teil sagen wir zu unserem Listenpunkt (<li>), dass er sich doch bitte mit den anderen Listenpunkten in eine Reihe stellen soll. Undzwar von Links nach Rechts und nicht von Oben nach Unten. "float:left;" ist das "Zauberwort".
Code:
#navigation ul li a { width:auto; height:35px; display:block; line-height:35px; padding:0px 15px 0px 15px; text-decoration:none; background-color:#333; color:#FFF; font-weight:bold; }
An dieser Stelle werden die Links (<a>) innerhalb der Listenpunkte (<li>) angesprochen. Diesen geben wir zuerst eine automatische Breite und eine feste Höhe von 35 Pixeln.
Dannach erkennen wir die Eigenschaft "display:block". Damit blasen wir unseren Link quasi auf die volle Breite und Höhe auf. D.h. wir können den Link überall anklicken und nicht nur da wo auch die Schrift "Navigationspunkt 1" steht.
Mit "line-height:35px;" stellen wir die Schrift Vertikal zentriert dar.
Mit "padding:0px 15px 0px 15px;" verbreitern wir unseren Navigationspunkt. Padding steht wie oben bereits erwähnt für den Innenabstand. D.h. vom äußeren Rand wird ein Abstand von 15 Pixeln nach Innen generiert. D.h. der Link wird um 30 Pixel verbreitert. 15 Pixel an der jeweiligen Seite.
Diese Schreibweise "padding:0px 15px 0px 15px;" ist vielleicht einigen unbekannt. Das ganze läuft im Uhrzeigersinn.
1. Wert: Innenabstand oben
2. Wert: Innenabstand rechts
3. Wert: Innenabstand unten
4. Wert: Innenabstand links
Code:
text-decoration:none; background-color:#333; color:#FFF; font-weight:bold;
Dem Link an sich geben wir auch nochmal eine Hintergrundfarbe mit "background-color:#333;".
Code:
#navigation ul li a:hover { background-color:#666; } #navigation ul li a:active { background-color:#06F; }
Mit :active erzeugen wir einen "Klick" Effekt. Wenn wir mit der Maus auf unseren Link (<a>) klicken, wird der Hintergrund blau.
4. Abschluss
So, das war es auch schon. Ich hoffe ich habe euch etwas beigebracht Für Kritik stehe ich immer offen, für Verbesserungsvorschläge ebenso und wenn ihr Fragen haben solltet, dürft ihr euch gerne hier melden.
Falls etwas unverständlich ist, sagt mir bescheid und ich werde versuchen es erneut, besser zu erklären oder ich änder die Stelle im Tutorial gleich. Rechtschreibfehler dürft ihr mir auch melden.
Damit wären wir am Ende.
Bis dann,
gez. galaxyo
Edit:
Auf wunsch erweiter ich das ganze auch noch. Undzwar wie man eine Dropdown Navigation nur mit CSS und ohne JS erstellt.