• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Aufzähungen unabhängig voneinander stylen

Hallo,

ich habe eine Top-Level-Navigation erstellt und möchte nun ein weiteres aufklappbares Menü, welches auch auf einer Liste aufbaut, links auf der Startseite einbauen.
Nun würde ich gerne wissen, ob es möglich ist, diese li's,ol's und ul's seperat voneinander zu stylen.
Würde mich über eine detaillierte Antwort freuen, da ich noch Anfänger bin.

Gruß
 
Werbung:
Hallo

Was verstehst du unter detailiert? Wir kennen deine Fähgkeiten nicht und "Anfänger" sagt leider überhaupt nichts aus.

Nun würde ich gerne wissen, ob es möglich ist, diese li's,ol's und ul's seperat voneinander zu stylen.

Ja.

Für eine konkrete Hilfe benötigen wir einen Link zu deiner Seite.

Je nach dem HTML-Quelltext kannst du den ol-/ul-Elementen entweder Klassen geben oder sie mittels Selekoren mit CSS gestalten.

Gruss

MrMurphy
 
Was verstehst du unter detailiert?
Eine detailierte Antwort soll vermutlich Code(Beispiele) enthalten.
Nun würde ich gerne wissen, ob es möglich ist, diese li's,ol's und ul's seperat voneinander zu stylen.
Selbstverständlich ist das möglich, indem die Elemente der Submenüs im CSS mit Hilfe des Kind- oder Nachfahrenselektors angesprochen und (gegenüber der obersten Menüebene entsprechend um)formatiert werden.

https://wiki.selfhtml.org/wiki/CSS/Selektoren/Kombinator/Kindselektor
https://wiki.selfhtml.org/wiki/CSS/Selektoren/Kombinator/Nachfahrenselektor

Kleines Demo, das die grundsätzliche Vorgehensweise veranschaulicht: https://jsfiddle.net/spicelab/5jhuyaLm/
 
Werbung:
Ok, danke schonmal. Also Klassen würde ich gegenüber den Selektoren bevorzugen, da mir das auf den ersten Blick schwieriger vorkommt.
Wie würde ich das in diesem Fall machen? Und wie spreche ich die Elemente in CSS an?


<div id="top_nav">
<ul>
<li><a class="active" href="#home">Home</a></li>
<li><a href="#news">News</a></li>
<li><a href="#contact">Contact</a></li>
<li><a href="#about">About</a></li>
</ul>
</div>

Würde das hier funktionieren?

<div id="top_nav">
<ul id="navigation">
<li id="navigation"><a class="active" href="#home">Home</a></li>
<li id="navigation"><a href="#news">News</a></li>
<li id="navigation"><a href="#contact">Contact</a></li>
<li id="navigation"><a href="#about">About</a></li>
</ul>
</div>

Und wie muss ich dann auf die ul und li zugreifen in CSS?
Gruß
 
Zuletzt bearbeitet:
Ein ID-Bezeichner muß im HTML-Code eindeutig sein, darf darin nur einmal vergeben werden.

Aus <li id="navigation"> wird <li class="navigation">, denn Klassen dürfen unbegrenzt enthalten sein.

Ansonsten verstehe ich nicht, wieso Du nicht weißt, wie Du die Elemente im CSS ansprechen sollst, wenn Du nach eigener Aussage schon ein "Top-Level-Menu" erstellt hast. Die Technik bleibt dieselbe, nur dass man sich halt den Menüebenen entsprechend nach unten durcharbeitet - siehe mein Beispiel.

Und was Du uns da jetzt präsentierst, ist genau so eines, eben ohne Untermenüs.

Also Klassen würde ich gegenüber den Selektoren bevorzugen, da mir das auf den ersten Blick schwieriger vorkommt.
Dann wage mal einen zweiten oder dritten Blick darauf, um es zu verstehen. So schwierig ist das überhaupt nicht.

Du bildest in dieser Art von Selektor lediglich die Hierarchie der Listenelemente ab:
CSS:
/* 1. Menüebene */
ul li {}
ul li a {}
/* 2. Menüebene */
ul li ul li {}
ul li ul li a {}
/*  3. Menüebene */
ul li ul li ul li {}
ul li ul li ul li a {}
/* usw. */
Ansonsten fügst du halt in meinem Beispiel die Klassen im HTML- u. CSS-Code ein.

Nur ganz ohne Kind- oder Nachfahrenselektoren wirst Du bei einem Multi-Level-Menü schnell an Deine Grenzen stoßen, damit beispielsweise die CSS-Regeln der Submenüs vom Browser nicht auf die Hauptmenüpunkte angewendet werden, und anders herum natürlich auch.

Stichwörter: Kaskade & Spezifität der Regelsätze - siehe hierzu https://wiki.selfhtml.org/wiki/CSS/Kaskade

Es gilt auch zu bedenken, wie sich der HTML- u. CSS-Code zukünftig am einfachsten/wirtschaftlichsten pflegen lässt.

Mit unzähligen Klassennamen, die mit jeder neu hinzugekommenen Untermenüebene entsprechend zu erweitern wären, und den HTML-Code noch weiter unnötig aufblähen, ganz sicher nicht.
 
Danke für die Hilfe! Ja also ich habe mir eine Vorlage aus dem Web geholt, in der schon eine Navigation vorhanden ist.

Ich schaue mir deine Lösung jetzt mal genauer an.
Danke.
 
Werbung:
Zurück
Oben