current_page_item und Untermenü

  • Hi.

    Ich will auf einer Seite die statischen Seiten mit 2 Ebenen (Also Menü und zu jedem Punkte 1 Ebene Unterpunkte) definieren.

    Die 1. Menüebene soll bei "active" hervorgehoben und die 2. Ebene auch, allerdings in einem anderen style.

    Hier mal die Zeile des css, die das regelt:

    Code
    #menulinks a:hover,
    #menulinks li.current-cat a,
    #menulinks li.current_page_item a {
      background:#FF0033;
    }

    Ich dachte, wenn ich eine zweite Klasse und dann nur eben

    Code
    #menulinks li ul.current...

    definiere, müsste das doch gehen.

    Aber es ändert sich nichts.
    Weiß jemand, wie ich die beiden Menüebenen getrennt bekomme?

    Danke!

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • vielleicht habe ich das unverständlich beschrieben...

    Das Problem ist:
    Ich habe im Menü Seiten und dazu Unterseiten. Wenn ich eine Unterseite anklicke, dann soll die jeweilige Hauptseite in einem Style sein und gleich bleiben bei alle zugehörigen Unterseiten.
    Die jeweiligen Unterseiten sollen aber in einem eigenen Style hervorgehoben werden - wenn aktiv, damit man sieht, wo man sich befindet.

    Also wie kann man im css die current_page_item für die einzelnen Ebenen trennen?

  • so habe ich die beiden Sachen erst mal trennen können:

    Code
    #menulinks a:hover,
    #menulinks li.current-cat a,
    #menulinks ul ul li.current_page_item a {
      background:rot;
    }
    
    
    #menulinks ul ul ul li.current_page_item a {
      background:grau;
    }


    allerdings sind jetzt die Unterpunkte alle rot, wenn ich auf der Hauptseite bin... Wenn ich wiederum auf den Unterseiten bin, ist die Hauptseite nicht mehr rot...

    Weiß denn keiner einer Rat?

  • Ich find's schon etwas lustig, dass du an einem Sonntag von freiwilligen Helfern so schnell Hilfe erwartest und so am drängeln bist. Schon mal ans Formel1-Wochenende gedacht?
    Was dabei noch lustiger ist, dass du noch nicht mal einen Link zum Blog postest, sodass man mal das komplette CSS inkl. HTML sehen kann.
    Die Glaskugeln sitzen nämlich immer noch vorm Fernseher und schauen jetzt ZDF.

    [size=10]Bitte immer zuerst die Forensuche nutzen und erst danach Deine Fragen hier im Forum stellen, denn sehr vieles wurde schon mehrfach beantwortet. Bitte dabei auch die Forenregeln beachten.
    Kein Support per PN - Fragen gehören ins Forum.[/SIZE]
    [size=8]Wenn du eine weise Antwort verlangst, musst du vernünftig fragen. (Johann Wolfgang von Goethe)[/SIZE]

  • Drängeln ist nicht meine Absicht, ich habe nur die Ergebnisse gepostet, die ich in der Zwischenzeit beim probieren heraus gefunden habe... bzw. was ich nicht herausgefunden habe.
    Dadurch wirds ja vielleicht auch verständlicher.

    Den Link zu der Seite stelle ich natürlich auch gern zur Verfügung:
    News

    besten Dank!

    P.S. Glaskugeln sitzen vorm Fernseher?

  • Problem behoben? Ich seh nämlich nur die grad aktive Unterseite rot. Und für die Elternseite ist dann .current_page_parent zuständig.

    [size=10]Bitte immer zuerst die Forensuche nutzen und erst danach Deine Fragen hier im Forum stellen, denn sehr vieles wurde schon mehrfach beantwortet. Bitte dabei auch die Forenregeln beachten.
    Kein Support per PN - Fragen gehören ins Forum.[/SIZE]
    [size=8]Wenn du eine weise Antwort verlangst, musst du vernünftig fragen. (Johann Wolfgang von Goethe)[/SIZE]

  • naja, fast... ich habe das Redirector-PI benutzt. Dadurch sieht man den Style der Hauptseite gar nicht, weil es gleich auf die Unterseite weiterleitet.

    Was sein soll, ist, dass die Hauptseite (also z.B. "BV.TS Aktuell") einen roten Background hat, wenn man auf den dazugehörigen Unterseiten ist.

    Wenn man dann auf "Der BV.TS" klickt soll diese Hauptseite rot im BG sein, und "BV.TS Aktuell" wieder weiß.

    Ich weiß ja, wie man die einzelnen Klassen un dso anspricht, aber ich verstehe das current_page_item nicht...

  • Und für die Elternseite ist dann .current_page_parent zuständig.

    .current_page_parent in der style.css mit roten background formatieren.

    [size=10]Bitte immer zuerst die Forensuche nutzen und erst danach Deine Fragen hier im Forum stellen, denn sehr vieles wurde schon mehrfach beantwortet. Bitte dabei auch die Forenregeln beachten.
    Kein Support per PN - Fragen gehören ins Forum.[/SIZE]
    [size=8]Wenn du eine weise Antwort verlangst, musst du vernünftig fragen. (Johann Wolfgang von Goethe)[/SIZE]

  • mmmh, funktioniert im Prinzip, allerdings macht er auch bei den Untermenüs jetzt einen roten Balken.

    Der rote Hintergrund soll nur unter der Hauptseite sein, solange wie man sich auf den Unterseiten befindet. Die Unterseiten wiederum sollen keinen Hintergrund haben.
    (Ich habe jetzt aber mal bei denen den BG grau gemacht, nur um zu sehen, was da passiert.)

    Oder komme ich mit der Hierarchie durcheinander? ul ul li. ... oh Gott...

  • du scheinst etwas durcheinander zu kommen. Schau dir das ganze mal mit einem WebDeveloper-Tool wie Firebug an.

    Für current_page_item hast du nämlich jetzt grau gewählt:

    Code
    #menulinks a:hover, #menulinks li.current-cat a, #menulinks [COLOR=Red]li.current_page_item a[/COLOR] {
    background:#999999 none repeat scroll 0 0;
    color:#FF0033;
    }

    [size=10]Bitte immer zuerst die Forensuche nutzen und erst danach Deine Fragen hier im Forum stellen, denn sehr vieles wurde schon mehrfach beantwortet. Bitte dabei auch die Forenregeln beachten.
    Kein Support per PN - Fragen gehören ins Forum.[/SIZE]
    [size=8]Wenn du eine weise Antwort verlangst, musst du vernünftig fragen. (Johann Wolfgang von Goethe)[/SIZE]

  • naja, offensichtlich verstehe ich das irgendwie falsch.

    Ich denke, dass .current_page_item der Link ist, der aktiv ist.
    .current_page_parent ist dann die Hauptebene, oder?

    Das haut ja auch hin soweit, also die 1. Ebene ist rot im BG und die 2. Ebene hat die rote Schrift und keinen BG (habe ich wieder geändert).

    Das Problem ist nur noch, dass auch die anderen Links (die gerade nicht aktiv sind) in der 2. Ebene den roten BG haben, das sollen sie aber nicht!

    Vielleicht kann man das auch anders machen.
    Ich habe das mal gesehen, ohne dieses current...

    1. Ebene = weißer BG - und wenn aktiv=roter BG
    2. Ebene = immer weißer BG - wenn aktiv=rote Schrift (sonst grau)

    also so in etwa:


    Das Problem ist nur, dass, wenn ul li aktiv ist, auch li als aktiv sein müsste.

    active heißt ja wohl gedrückt, oder? dann funktioniert das nicht... aber so stelle ich mir irgendwie vor. Dieses verschachtelte krieg ich irgendwie nicht hin...

  • hier habe ich einen Beitrag gefunden, der wohl das Problem behandelt.

    Genau das funktioniert bei meiner Seite aber irgendwie nicht.
    Liegt das problem vielleicht in einem php-Abschnitt und nicht in der CSS?

  • hmm, ich hab's grad mal schnell ausprobiert. Wenn ich folgendes in deine css schreib, funktioniert es:

    CSS
    #menulinks li.current_page_parent li a {
    background: 0 none;
    color: gray;
    }
    #menulinks li.current_page_item a {
    color: red !important;
    }

    [size=10]Bitte immer zuerst die Forensuche nutzen und erst danach Deine Fragen hier im Forum stellen, denn sehr vieles wurde schon mehrfach beantwortet. Bitte dabei auch die Forenregeln beachten.
    Kein Support per PN - Fragen gehören ins Forum.[/SIZE]
    [size=8]Wenn du eine weise Antwort verlangst, musst du vernünftig fragen. (Johann Wolfgang von Goethe)[/SIZE]

  • Du hast

    .current_page_ancestor
    .current_page_parent


    und
    .current_page_item

    das .current_page_item zeigt die gerade aktive Seite, egal, ob sie eine Hauptseite oder eine Unterseite ist

    der BTVS ist eine Elternseite

    ist eine Unterseite von der BTVS aktiv bekommt der die Klassen

    .current_page_ancestor
    .current_page_parent

    und die Unterseite von dem .current_page_item


    alle Oberseiten, die aktiv sind .current_page_item
    alle Unterseiten dann .current_page_ancester .page_item anders

    aber alle .current_page_ancestor .current_page_item sowie du die normalen .current_page_item haben magst

    lg

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!