+ Antworten
Ergebnis 1 bis 9 von 9

Thema: Verschachtelte Navigation mit CSS

  1. #1
    TP-Junior Alexander86 macht alles soweit korrekt
    Registriert seit
    Jun 2009
    Beiträge
    9

    Verschachtelte Navigation mit CSS

    Hallo,
    ich versuche gerade eine vertikale Navigation für bis zu 4 Ebenen zu erstellen (siehe Grafik). Das HTML soll später von einem CMS generiert werden. Hier der aktuelle Code:

    HTML:
    HTML-Code:
    <div id="submenu"> 
    <ul> 
    <li><a href="">Unternehmen</a></li> 
    <li><a href="">Philosophie</a></li> 
    <li><a href="">Was wir bieten</a></li> 
    <li class="current-item"><a href="">Standorte/Partner</a> 
    <ul> 
    <li><a href="">Vertrieb</a></li> 
    <li class="current-item"><a href="">Service</a></li> 
    </ul> 
    </li> 
    <li><a href="">So finden Sie uns</a></li> 
    <li><a href="">Impressum</a></li> 
    <li><a href="">Kontakt</a></li> 
    </ul> 
    </div>
    CSS:
    Code:
    #submenu ul { 
    margin: 0px; 
    padding: 0px; 
    list-style-type: none; 
    } 
    
    #submenu li { 
    margin: 0px; 
    } 
    
    #submenu a { 
    display: block; 
    padding: 3px 0px 3px 25px; 
    background-image: url(images/submenu/bullet_1.gif); 
    background-repeat: no-repeat; 
    background-position: 10px; 
    color: #000000; 
    text-decoration: none; 
    } 
    
    #submenu ul ul a { 
    padding-left: 35px; 
    background-image: url(images/submenu/bullet_2.gif); 
    background-position: 20px; 
    } 
    
    #submenu ul ul ul a { 
    padding-left: 45px; 
    background-image: url(images/submenu/bullet_3.gif); 
    background-position: 30px; 
    } 
    
    #submenu ul ul ul ul a { 
    padding-left: 55px; 
    background-image: url(images/submenu/bullet_4.gif); 
    background-position: 40px; 
    }
    Screenshot:


    Bis jetzt sind die Ebenen nur eingerückt und haben jeweils ein anderes Icon.

    1. Wie kann ich jetzt den aktiven Navigationselementen (current-item) ein anderes Icon und eine andere Hintergrundfarbe zuweisen? Wenn ich z.B.

    #submenu .current-item a {background-color: white;}

    schreibe, dann werden auch die Unterelemente des aktiven Items gefärbt.

    2. Habt ihr irgendwelche Ideen, wie man dieses Menü noch etwas übersichtlicher gestalten könnte? Die Homepage hat nämlich eine sehr verschachtelte Menüstruktur.

    Vielen Dank im Voraus.

    Gruß Alex

  2. #2
    TP-Greis Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Avatar von Boris
    Registriert seit
    Mar 2001
    Ort
    Stuttgart & Kornwestheim
    Beiträge
    9.422
    Wie kann ich jetzt den aktiven Navigationselementen
    Na indem du dem aktiven Punkt eine Klasse oder ID vergibst (#menuaktiv) und das dann entsprechend gestaltest.

    ul ul a#menuaktiv{...}
    My software never has bugs. It just develops random features ...

    » DevShack - die Website des freien Webentwicklers Boris

  3. #3
    TP-Junior Alexander86 macht alles soweit korrekt
    Registriert seit
    Jun 2009
    Beiträge
    9
    Zitat Zitat von Boris Beitrag anzeigen
    Na indem du dem aktiven Punkt eine Klasse oder ID vergibst (#menuaktiv) und das dann entsprechend gestaltest.

    ul ul a#menuaktiv{...}
    D.h. ich muss den aktiven a-Elementen eine Klasse zuweisen? Es gibt nämlich schon eine Klasse current-item für die li-Elemente. Kann ich über diese Klasse nicht die aktiven a-Elemente ansprechen?

  4. #4
    TP-Greis Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Avatar von Boris
    Registriert seit
    Mar 2001
    Ort
    Stuttgart & Kornwestheim
    Beiträge
    9.422
    Nö, kannst du nicht. Woher soll das CSS denn "wissen", welches A Element du meinst?
    My software never has bugs. It just develops random features ...

    » DevShack - die Website des freien Webentwicklers Boris

  5. #5
    TP-Junior Alexander86 macht alles soweit korrekt
    Registriert seit
    Jun 2009
    Beiträge
    9
    Zitat Zitat von Boris Beitrag anzeigen
    Nö, kannst du nicht. Woher soll das CSS denn "wissen", welches A Element du meinst?
    Ich glaube #submenu .current-item>a könnte funktionieren aber das finde ich persönlich nicht so gut. Ich bin mir auch nicht sicher ob das alle Browser interpretieren können.

  6. #6
    TP-Greis Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Avatar von Boris
    Registriert seit
    Mar 2001
    Ort
    Stuttgart & Kornwestheim
    Beiträge
    9.422
    Ah, wieso machst du es nicht so:

    #submenu li.current-item a {background-color: white;}

    #submenu li li.current-item a {anders...}

    Sprich: 1. Ebene erhält diese und jene Formatierung, die 2. Ebene andere ...
    My software never has bugs. It just develops random features ...

    » DevShack - die Website des freien Webentwicklers Boris

  7. #7
    TP-Junior Alexander86 macht alles soweit korrekt
    Registriert seit
    Jun 2009
    Beiträge
    9
    Zitat Zitat von Boris Beitrag anzeigen
    Ah, wieso machst du es nicht so:

    #submenu li.current-item a {background-color: white;}

    #submenu li li.current-item a {anders...}

    Sprich: 1. Ebene erhält diese und jene Formatierung, die 2. Ebene andere ...
    Aber was schreib ich dann für "anders"? #submenu li li.current-item a sollen ja eigentlich keine Formatierungen haben.

  8. #8
    TP-Greis Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Boris lebt für das TP und seine User Avatar von Boris
    Registriert seit
    Mar 2001
    Ort
    Stuttgart & Kornwestheim
    Beiträge
    9.422
    Aber was schreib ich dann für "anders"? #submenu li li.current-item a sollen ja eigentlich keine Formatierungen haben.
    Wenn du nicht willst, dass untergeordnete Elemente die Formatierung bekommen, musst du diese wieder zurücksetzen. Sprich, hast du einen Abstand für das Elternteil gesetzt (padding-left: 10px), den du für die Kinderelemente nicht willst, musst du diese zurück nehmen (padding-left: 0).

    Vergiss nicht, dass alle Angaben vererbt werden
    My software never has bugs. It just develops random features ...

    » DevShack - die Website des freien Webentwicklers Boris

  9. #9
    TP-Junior Alexander86 macht alles soweit korrekt
    Registriert seit
    Jun 2009
    Beiträge
    9
    Welche Lösung ist besser? Die current-item-Klasse dem a-Element zuweisen oder die Unterelemente zurücksetzen? Bei 5 Ebenen wird die 2. Variante wohl recht umständlich und aufgebläht.

+ Antworten

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

     

Ähnliche Themen

  1. Verschachtelte Liste als Navigation - CSS Problem
    Von jtheile im Forum HTML & CSS
    Antworten: 2
    Letzter Beitrag: 25.09.2007, 22:18
  2. verschachtelte listen
    Von alexf812 im Forum HTML & CSS
    Antworten: 13
    Letzter Beitrag: 28.03.2005, 14:24
  3. Verschachtelte Listennavigation
    Von Terry im Forum Traum-Dynamik
    Antworten: 48
    Letzter Beitrag: 14.12.2004, 23:20
  4. verschachtelte Tabellen
    Von Pixelmaster im Forum HTML & CSS
    Antworten: 2
    Letzter Beitrag: 21.03.2004, 20:05
  5. verschachtelte ebene im mac
    Von werberater im Forum Dreamweaver & andere Webeditoren
    Antworten: 0
    Letzter Beitrag: 06.03.2002, 10:18

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51