Ergebnis 1 bis 5 von 5

Thema: Problem mit Ebenen und active

  1. #1
    Contao-Nutzer
    Registriert seit
    22.03.2010.
    Ort
    München
    Beiträge
    25

    Standard Problem mit Ebenen und active

    Hallo,

    ich werkel da jetzt schon eine Weile herum, aber komme nicht auf die Lösung... bestimmt ist es gar nicht so schwer.

    Also ich habe folgendes Menü:


    Soweit in Ordnung... auch hover ist ok...


    Aber wenn man ein Unterpunkt anwählt, kommt das hier:


    Natürlich soll es so aussehen wie bei a:hover

    Das Problem ist nur, dass anscheinend die Regeln von der ersten und zweiten Ebene gleichzeitig angewandt werden und ich weiß nicht, wie ich das entwirren kann.

    Hier der Code:

    Code:
    #subnav ul li{
        width:200px;
    }
    
    #subnav ul li a:before{
    	content: "→";
    	margin-right:10px;
    }
    
    
    #subnav ul li a {
        display: block;
        padding: 10px 0px 10px 15px;
        font-family: Helvetica, Arial, sans-serif;
        font-weight: normal;
        font-size: 12px;
        color: #8C8B8A;
        text-decoration: none;
        border-bottom: 1px solid #c4c4c4;
    }
    
    #subnav ul li a:hover {
        background-color: #235273;
        color: #FFFFFF;
        text-decoration: none;
    }
    
    #subnav ul li ul{
        margin-bottom: 0px;
    }
    
    #subnav ul li ul li a {
        padding: 10px 0px 10px 30px;
    }
    
    #subnav ul li ul li a:hover {
        background-color: #235273;
        color: #FFFFFF;
        text-decoration: none;
    }
    
    #subnav ul li .submenu:before{
    	content: "↓";
    	margin-right:10px;
    }
    
    #subnav ul li .active.submenu:before{
    	content: "↓";
    	margin-right:10px;
    }
    
    #subnav ul li .active:before{
    	content: "→";
    	margin-right:10px;
    }
    
    #subnav ul li .active {
        display: block;
        padding: 10px 0px 10px 15px;
        font-family: Helvetica, Arial, sans-serif;
        font-weight: normal;
        font-size: 12px;
        text-decoration: none;
        border-bottom: 1px solid #c4c4c4;
        background-color: #235273;
        color: #FFFFFF;
        text-decoration: none;
    }
    
    #subnav ul li ul li .active:before{
    	content: ">>";
    	margin-right:10px;
    }
    
    #subnav ul li ul li .active {
        display: block;
        padding: 10px 0px 10px 30px;
        font-family: Helvetica, Arial, sans-serif;
        font-weight: normal;
        font-size: 12px;
        text-decoration: none;
        border-bottom: 1px solid #c4c4c4;
        background-color: #235273;
        color: #FFFFFF;
        text-decoration: none;
    }
    Das wichtige hier sind die letzten 4 Code-Elemente. Das davor ist nun um zu sehen wie ich das bei a und a:hover gemacht habe... hier ist nämlich die Darstellung in Ordnung.

    Ich bin sicher, es gibt Optimierungsbedarf...
    Wie kann man das am besten lösen?

  2. #2
    Contao-Fan Avatar von kos
    Registriert seit
    22.06.2009.
    Ort
    Westerwald
    Beiträge
    888

    Standard

    Hallo Kayne,

    wenn Du den untergeordneten Menüpunkt anwählst, dann erhalten sowohl das übergeordnete <li> als auch das dazugehörige <a> die Klasse .trail.
    Mir dieser Klasse lassen sich dann die Menüpunkte formatieren.

    Das kannst Du Dir z.B. mit "Firebug" genau ansehen.

    Noch eine Anmerkung:
    ich würde an Deiner Stelle nicht mit der Pseudoklassen :before arbeiten, denn hier hat der InternetExplorer so seine Darstellungsprobleme. Besser, Du benutzt hier die Eigenschaft background in Verbindung mit einem Bild.
    Code:
    a.trail{
    background: url(tl_files.....bild.png) no-repeat top left transparent;
    }

  3. #3
    Contao-Nutzer
    Registriert seit
    22.03.2010.
    Ort
    München
    Beiträge
    25

    Standard

    Hallo kos,

    ich denke ich habe mich da missverständlich ausgedrückt...

    Und zwar geht es darum, dass hier in diesem Bild:


    Menüpunkt "B" nicht richtig dargestellt wird. Und zwar werden hier wohl die zwei active Regeln vom 1. und 2. Level gleichzeitig angewandt. Ich will aber, dass nur die Regel für Level 2 greift.

    Also es so aussehen:

    Nur dass eben nicht A, sondern B blau hinterlegt ist.

    Danke schon mal...!

  4. #4
    Contao-Nutzer
    Registriert seit
    22.03.2010.
    Ort
    München
    Beiträge
    25

    Standard

    Nochmal zur Veranschaulichung... wenn ich die active Regel der ersten Ebene "ul li" aus der CSS Datei wegnehme, habe ich das gewünschte Ergebnis für den aktiven Unterpunkt:



    Aber dann habe ich eben keine Style-Regel mehr für einen aktiven Punkt der ersten Ebene.

  5. #5
    Contao-Nutzer
    Registriert seit
    22.03.2010.
    Ort
    München
    Beiträge
    25

    Standard

    Habe die Lösung...

    Statt .active musste ich einfach span.active nehmen.
    Tja, dafür nun 4 Stunden lang rumgesucht...

Aktive Benutzer

Aktive Benutzer

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

Lesezeichen

Lesezeichen

Berechtigungen

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