Twenty Seventeen Menü formatieren

  • Ich möchte gerne, dass die Hintergrundfarbe die ich bei a:hover festgelegt habe, auch auf der entsprechend aktiven Seite stehen bleibt. Bekomme es aber einfach nicht hin.

    Hier der bisherige Code:

    • 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

  • Versuche es damit

    Code
    .navigation-top .current-menu-item>a, .navigation-top .current_page_item>a {
        color: #ff0000;
    }

    Das Geheimnis des Könnens liegt im Wollen!
    [size=12]Bitte keine Hilfegesuche per PN (auch keine "privaten" Links). Das ist ein öffentliches Forum.[/SIZE]

  • Damit würde ich ja wenn nur die Textfarbe ändern, aber nicht den Hintergrund.
    Ich habe diese Stelle dennoch mal mit folgendem Code ausprobiert, leider ohne Erfolg:

    CSS
    .navigation-top .current-menu-item > a,
    .navigation-top .current_page_item > a {
        color: #ffffff !important;
        background-color: #cb0730 !important;
    }
  • Sollte eigentlich funktionieren. Gib uns mal einen Link. Evtl. funkt was dazwischen.

    Das Geheimnis des Könnens liegt im Wollen!
    [size=12]Bitte keine Hilfegesuche per PN (auch keine "privaten" Links). Das ist ein öffentliches Forum.[/SIZE]

  • Ein eigenes Menü mit nur Anker-Links? Das ist nicht Standard würde ich behaupten. Versuche es mit

    Code
    .navigation-top a.mPS2id-highlight {
        background: #ff0000;
    }

    Das Geheimnis des Könnens liegt im Wollen!
    [size=12]Bitte keine Hilfegesuche per PN (auch keine "privaten" Links). Das ist ein öffentliches Forum.[/SIZE]

  • Leider habe ich noch ein Problem, wenn man sich auf den Seiten "Impressum" und "Datenschutz" befindet, zeigt die Hauptnavigation wie z.B. "News" keine Reaktion. Ich habe mir zwar jetzt damit geholfen, indem ich unter "Datenschutz" einen Link "Startseite" gelegt habe, aber das ist keine gute Lösung. Muss doch anders gehen?

    Zudem habe ich noch ein Problem mit dem Hintergrund bei "Impressum" und "Datenschutz", wie bekomme ich den hinter dem Text weiss?

    Kann mir bitte jemand helfen...

  • Die Hintergrundfarbe könntest du mit....

    HTML
    .page-id-136 .site-content-contain,
    .page-id-134 .site-content-contain {
      background-color: rgba(255,255,255,1.0);
    }


    nach deinen Wünschen einrichten ( rgba(255,255,255,1.0) = weiß 100% deckend ).
    Den Code in das 'zusätzliche CSS' eintragen (vom Dashboard -> Design -> Customizer -> zusätzliches CSS).
    Wenn das nicht auf Anhieb funktioniert, dann versuchen das Format mit background-color: rgba(255,255,255,1.0) [COLOR=#ff0000]!important[/COLOR]; zu verstärken.

    Die zu breite Seite (horizontaler Scrollbar) tritt nur bei einer Bildschirmbreite von ~ 730px bis ~ 1130px auf und scheint von der Breite bzw. dem 'margin-left' des Bildes (Schriftzug im Header) verursacht zu sein.
    Dem kann man entgegen wirken, indem man das Elternelement mit 'float: right;'...

    HTML
    .site-branding a {
      float: right;
    }


    aus den Texfluss raus nimmt und sich am rechten Seitenrand ausrichten lässt. Änderung wieder im zusätzlichen CSS.

    Zum Linkproblem - da habe ich keine einfache Lösung :-(.
    Es liegt daran, dass im Menü keine absoluten und keine relativen Sprungadressen angegeben sind, sondern nur 'Sprunganker' (zB #tour), die dann beim anklicken an die entsprechende Position auf der Seite springen ... aber in dieser Form eben nicht auf eine andere Seite - das funktioniert nur dann, wenn Link und Anker auf der selben Seite sind.
    Dein Impressum und der Datenschutzteil sind aber auf separaten Seiten und durch den Link wird weiterhin auf den Anker verwiesen, den es aber auf der separaten Seite gar nicht gibt!
    Es muss also in den Menüzeilen auf den Unterseiten der href="#...." ergänzt werden um die Adresse der Startseite... href="startseite#..."
    Aber wie du das in deinem Theme einstellen/ändern kannst, weiß ich nicht aber es gibt hier bestimmt ein paar 'Auskenner', die dir da weiter helfen können.

  • @Sailor56: Erstmal vielen Dank für Deine ausführliche Antwort!

    Das Problem mit dem Hintergrund und der horizontalen Bildlaufleiste hatte ich zwischenzeitlich lösen können.

    Ich habe dennoch mal versucht "float: right" als Sicherheit einzusetzen, jedoch verschiebt sich das Logo dann leider in die Mitte der Seite und da soll es nicht hin, sondern rechts bleiben.
    Ja mit den "Sprungankern" habe ich mir schon gedacht, aber irgendwie muss ich das noch hinbekommen, sonst ist die Seite von z.B. "Impressum" aus nicht mehr gut navigierbar....hoffe es kann mir jemand dabei helfen.

  • Jep... kann sein, dass deine Änderungen im CSS, wenn du dann 'zusätzlich' meine Vorschläge integrierst, zu unerwünschten Dingen führen - ich kann mich aber nur an dem orientieren, was ich in deinem Link aus Post #5 sehe. Aber wenn es funktioniert, dann hast du ja alles richtig gemacht.. viele Wege führen nach Rom.
    Kannst du in deinem Menü-Setup nicht einfach deine Sprunganker so ergänzen, dass statt '#tour' dort 'http://johnpetrucci.de/WordPress2018#tour' steht?

  • Wenn das mit der Menüleiste oben auf den Unterseiten gar nicht in den Griff zu bekommen ist, könnte ich vielleicht auch das Top-Menü auf den Unterseiten einfach ausblenden?

  • Zunächst mal gehe ich davon aus, dass das Top-Menü in den Griff zu bekommen ist... mir fehlt nur das Wissen und die Erfahrung, wie das in deinem konkreten Fall mit deinem Theme geht.

    ...aber das funktioniert leider nicht wirklich.


    Was passiert denn, wenn du die Ergänzung in das Menü einträgst?
    Du hast doch in deinem Menü unten genau diese absoluten Adressen eingetragen, um zum Impressum und zurück zur Startseite zu kommen - warum sollte das im Top-Menü 'nicht wirklich funktionieren'?

  • Habe es jetzt mal so umgesetzt wie von Dir vorgeschlagen, es funktioniert dann z.B. die Linkformatierung nicht mehr (roter Hintergrund) und bei jeden Klick springt die Seite erst mal nach oben usw...., aber schau es Dir selbst mal an.

  • Ja ich sehe was du meinst... das ist gar nicht gut. Hängt aber auch mit dem sehr langsamen Seitenaufbau deiner Seite zusammen... von meinem Browser gemessen > 25 Sekunden - kein guter Wert. Aber das abzustellen wäre dann eine richtige Großbaustelle und WP Seiten sind eh nicht für schnelle Ladezeiten bekannt.
    Man müsste tatsächlich darüber nachdenken auf den Seiten Impressum und Datenschutz das Top Menü auszublenden und ggf. durch einen Link zur Hauptseite zu ersetzen... so was wie 'zurück zur Startseite'.
    Das müsste auch relativ einfach mit dem existierenden Menü (das mit nur dem Ankerlinks '#.....') zu realisieren sein.
    Wenn ich mich recht erinnere kannst du ja jedem Link eine individuelle CSS Klasse zuweisen - das sollte auch bei TwentySeventeen so sein.
    Dann gebe allen Links, die auf der Startseite zu sehen sein sollen die CSS Klasse 'nur_home'. Der Name ist eigentlich egal, er darf nur nicht auch woanders als Klassenname verwendet werden.
    Dann musst du diesem Menü noch einen weiteren Menüpunkt hinzufügen mit einem individuellen Link der 'anderen' Art - mit dem absoluten Link 'http://johnpetrucci.de/WordPress2018' . Der muss dann eine wieder einmalige CSS Klasse bekommen (zB 'nicht_home').
    Dann könntest du mit ein paar Zeilen CSS je nach der aufgerufenen Seite (page ID) mal die 'nur_home' oder die 'nicht_home' ausblenden.
    Das könnte dann in etwa so aussehen:

    HTML
    .home #top-menu li a.nicht_home {
      display: none;
    }
    .page-id-136  #top-menu li a.nur_home,
    .page-id-134  #top-menu li a.nur_home {
      display: none;
    }


    Allerdings kann ich das so nicht testen - könnte aber klappen - Versuch macht kluch ;)!


  • Nur Mut... mit der Zuweisung einer Klasse zu deinen Menüpunkten kannst du zunächst mal nichts kaputt machen. Das sollte dann in deinen Theme Einstellungen bei Menü in etwa so aussehen...
    Und gemachte Einträge im zusätzlichen CSS kann man im Zweifelsfall problemlos wieder löschen.

Jetzt mitmachen!

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