Left / Right Border im Untermenü letzter Menüpunkt löschen

  • Hi,

    habe ein Standard horizontales Menü mit einigen Untermenüs programmiert.

    Um im Hauptmenü den rechten Rand am Ende und den linken Rand am Anfang nicht anzeigen zu lassen, mache ich ja:

    Code
    menu li:last-child{border-right:none;}
    menu li:first-child{border-left:none;}

    Nun wenn ich das so mache, ist aber im ersten Untermenü und nur da, trotzdem zum zweiten Untermenu hin ganz unten der linke Rand da (der steht aber rechts).

    Wie kann ich das hinbekommen, das nur der rechte Rand angezeigt wird? Oder gar kein Rand? Halt das der Rand so ist, wie in den anderen Menüpunkten?

    Hab alles versucht nth, first-list-type, last-list-type, first-child li li, ul li, last-child etc....

    Wenn ihr mal auf den Link schaut, da seht ihr im ersten Menupunkt bei Top100-->Sony, den hellgrauen Rand, im zweiten Menupunkt bei Action--->Horror ist das aber nicht mehr so. Genau hinschauen!

    http://rombel.de/gt/menu.php

    Jemand eine Lösung parat?

    Danke und Gruß

    raining_storm

    2 Mal editiert, zuletzt von raining_storm (30. März 2016 um 21:04) aus folgendem Grund: falsch : SEGA = Sony

  • Wenn Du etwas auf nur auf die Hauptmenüpunkte beschränken willst, schreib es so:

    Code
    nav > ul > li:first-child


    Äh funktioniert nicht.

    Oder deinen Code habe ich so nicht verstanden (wegen fehlender Semikolon - Klammern)

    Evtl. mal korrekt schreiben würde mir sicher helfen. Mercy ;)

  • Hallo

    Ich habe noch nicht durchschaut was du eigentlich erreichen möchtest.

    Sinnvollerweise werden border, die nicht angezeigt werden sollen, gar nicht erst eingefügt.

    Ich gehe mal von folgendem Darstellungswunsch aus:

    - border-left und border right sollen nur in der waagerechten Navigation angezeigt werden
    - beim ersten (linken) li-Element soll links kein border-left angezeigt werden
    - beim letzten (rechten) li-Element soll rechts kein border-right angezeigt werden
    - alle senkrechten li-Elemente sollen links und rechts keinen Rahmen erhalten

    Das wird folgendermaßen erreicht:

    Zunächst werden die folgenden CSS-Anweisungen gelöscht oder auskommentiert:

    Dann werden folgende CSS-Anweisungen hinzugefügt:

    Die beiden auskommentierten Anweisungen kannst du aktivieren wenn die seitlichen border deutlicher angezeigt werden sollen. Unsichtbare oder fast unsichtbare Elemente sind zum Testen ungeeignet.

    Gruss

    MrMurphy

    2 Mal editiert, zuletzt von MrMurphy (31. März 2016 um 08:07)

  • Hallo

    Ich habe noch nicht durchschaut was du eigentlich erreichen möchtest.

    Sinnvollerweise werden border, die nicht angezeigt werden sollen, gar nicht erst eingefügt.

    Ich gehe mal von folgendem Darstellungswunsch aus:

    - border-left und border right sollen nur in der waagerechten Navigation angezeigt werden
    - beim ersten (linken) li-Element soll links kein border-left angezeigt werden
    - beim letzten (rechten) li-Element soll rechts kein border-right angezeigt werden
    - alle waagerechten li-Elemente sollen links und rechts keinen Rahmen erhalten

    Danke für die Antwort und dein Mühe. So wie du es beschreibst, wollte ich es auch!

    Habe einen Kumpel in Amerika eben in seinem Halbschlaf kontaktiert und er brachte mir in 10 Sekunden die Lösung:

    nav ul ul li:last-child{border-right:1px solid #000;}
    nav ul ul li:first-child{border-right:1px solid #474747;}

    Damit sind auch alle Untermenüs entsprechend zu lösen. Je nach UL Ebene.

    Also wird der letzte Item im Menü nur so dargestellt mit die Border die ich angegeben habe. Das war mein Ziel.

    Vorher war es ja nur so, das der letzte Item im Menü einen grauen Rand darstellte! Jetzt ist alles so wie in den Übermenüs.

    Mein Fehler war den Border kein Statement / Color zu geben.

    Gelöst!

    2 Mal editiert, zuletzt von raining_storm (31. März 2016 um 00:23)