Nochmal Navigation. Nach Mobilansicht sind die Links weg

  • Hallo es geht noch mal um diese Navbar.

    Hier bekomme ich eine Mobilansicht allerdings ohne Funktion.

    Also habe ich auf Coedpen (Link ganz unten) die Original so angepasst wie sie passt. Dann gehe ich in die Mobilansicht Burger menue einwandfrei.

    Gehe ich zurück auf Fullscreen sind die Links weg und nur noch die mobile Ansicht geht.

    Zum Verständnis.


    Hier könnt ihr es auf codepen selbst austesten. Ich test schone einige Tage. Leider erfolglos.


  • Ja ist auch logisch.


    Wenn du in der mobilen Ansicht auf den Burger klickst, wird die Funktion "slideToggle" aktiviert und setzt nach der Animation "menu-list" auf "display:block".

    Bei erneutem Drücken wird es auf "display:none" gesetzt.

    Und dieser Zustand wird von dir nirgendwo geändert, daher ist es beim Wechsel auf Desktop-Ansicht immer noch unsichtbar.


    Du hast vergessen zu beachten, das die Funktion "slideToggle" den Wert für "display" als Inline-Style setzt, also mit der höchsten Priorität.

    Daher greifen deine anderen Angaben im CSS an dieser Stelle nicht mehr.

  • Für dich mag das ja logisch sein.

    Ich aber weiß überhaupt nicht was das Script macht und wie ich da mit der CSS gegensteuern könnte.

    Was muss ich in die CSS schreiben? und vielleicht kannst du auch mit kurzen Worten erklären wie die CSS in diesem Falle das Script beeinflusst?

  • Zitat

    Ich aber weiß überhaupt nicht was das Script macht und wie ich da mit der CSS gegensteuern könnte.

    Das ist eine typische Konsequenz, wenn man eine Fundsache aus dem Web einsetzt ohne sie zu verstehen ;)


    Ich bin ja nicht unbedingt ein Freund von jQuery und hier bestätigt sich das: Es liegt ein undurchsichtiges Mischmasch von Animation der Höhe und Umschalten von display vor, das es schwer macht, die Dinge zu durchschauen und nach den eigenen Vorstellungen umzuändern.


    Zitat

    Was muss ich in die CSS schreiben?

    Wie nextuser schon schrieb, hat der Inlinestyle, den jQuery setzt, eine hohe Priorität. Du kannst jedoch dafür sorgen, dass sich dein CSS dennoch durchsetzt, indem Du "!important" hinzu setzt. Auch davon bin ich kein Freund weil man es i. allg. nur braucht, wenn man sein CSS nicht im Griff hat, aber hier kommt man wohl nicht daran vorbei.


    Da kein Freund von jQuery, habe ich mal das Menü aus deinem Codepen hergenommen und mit Vanilla-JS realisiert einschl. Animation.


    Das Javascript am Ende des Body:

    Ist doch recht kompakt und einfach, nicht wahr?


    Am CSS musste ich nicht viel verändern, siehe meine Kommentare:

  • Da muss schon noch das "display" hin, allerding mit "display: block", dann funktioniert es.

    Bin auch kein Freund von JQuery, mache meine Sachen auch immer mit reinem JS.


    Für dich mag das ja logisch sein.

    Tut mir leid.

    Durch den Code, den du gepostet hast ging ich davon aus, das dir die Funktion bekannt ist.

    Also nichts für ungut.

  • Ist doch "display:block:

  • Ne.


    Sempervivum hat es auskommentiert.

    Das bezieht sich auf diesen Block:

Jetzt mitmachen!

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