CSS first-child
bearbeitet von
Danke für die schnelle Antwort. Ich hatte mir sowas schon gedacht und hab es jetzt auch andersrum probiert. Problem jetzt ist allerdings, wenn ich über einen dieser Menüpunkte hovern möchte dann färbt sich der Text nur dann wenn man exakt über den Text geht. Oder gibt es da auch eine nette Lösung?
> Hallo
>
> > … Eigentlich hab ich einen ganz simplen Aufbau der wie folgt aussieht:
>
> … und falsch ist.
>
> Einel Liste `ul` (oder auch `ol` für eine geordnete Liste) darf selbst **nur** `li` als Kindelemente haben. Du hast direkt Links `a` als Kindelemente von `ul` (und dort herinnen die `li`). Die Browser sehen zwar gnädig über solche Fehler hinweg. da sie das aber nicht alle auf die selbe Art tun, also kein Verlass auf ein gleichartiges Verhalten ist, ist die richtige Verwendung der Elemente Pflicht.
>
> Die korrekte Verschachtelung (ausschnittsweise) ist folgende:
>
> ~~~html
> <nav>
> <ul>
> <li><a href="">Punkt 1</a></li>
> <li>Punkt 3
> <ul>
> <li><a href="#">Punkt 3.1</a></li>
> </ul>
> </li>
> </ul>
> </nav>
> ~~~
>
> > Jetzt würde ich gerne über last-child den "Punkt 5" in meiner Liste ansprechen und ihm einen Background geben. Aber was ich auch tue, alle anderen Punkte (außer Punkt 3) färben sich auch. Hat jemand eine Idee für mich?
>
> mit dem korrekten Aufbau des HTML-Quelltextes sollte dein CSS funktionieren. *Falls* du nur ein `nav` hast oder mehrere solche Blöcke gleichartig gestaltet oder z.B. zusätzlich per JS angesprochen werden sollen, brauchst du die ID dort nicht. *Dann* würde auch `nav li:last-child` reichen.
>
> > ~~~css
> > #Main ul li:last-child{
> > background:red;
> > }
> > ~~~
>
> Tschö, Auge
>
> --
> Wo wir Mängel selbst aufdecken, kann sich kein Gegner einnisten.
> Wolfgang Schneidewind **\*prust\***