Menü mit Transition

  • Hallo werte Helfer,

    ich habe ein vertikales Menü mit folgendem css erstellt (...und es funktioniert auch):

    Allerdings kriege ich diese blöde ease-in-out transition nicht zum Laufen.
    Alle möglichen Varianten habe ich schon probiert - leider ohne Erfolg.

    Was mach ich da falsch?

    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

  • was genau soll den passieren über transition?
    es muss ja eine Veränderung definiert sein, die z.B. dann bei hover langsam ein und ausblendet oder was auch immer

    Code
    #secondary li > a:hover {
        background-position: 0px 0px;
        color: white;
    }

    hier änderst du die Position des Backgrounds von

    somit würde transition auch da integriert

    also

    ohne das height

    das ist jetzt nur mal ein Beispiel, ich weiß ja nicht was du machen willst und einen Link zum Problem gibt es ja auch nicht

  • Hallo, vielen Dank für die Antwort und sorry, ja, ich hätte dazu schreiben sollen, dass es einfach kontrolliert auf und zu sliden soll.
    Link kann ich leider keinen posten, da ich das noch auf dem localhost am Laufen habe.

    Falls du noch Zeit und Lust hast, dann könntest du mir bitte die Logik dieser Zeilen erklären:

    #secondary li > ul ul {
    height: 0px;
    overflow: hidden;
    -webkit-transition: height 0.3s ease-out;
    -moz-transition: height 0.3s ease-out;
    -o-transition: height 0.3s ease-out;
    -ms-transition: height 0.3s ease-out;
    transition: height 0.3s ease-out;
    }
    #secondary li:target > ul ul {
    height: 98px;
    }

    Das mit der "height" erschließt sich mir nicht wirklich.
    Ich habe das Ganze aus einem Tutorial und es funktioniert,
    aber wenn ich es nicht wirklich verstehe,
    dann ist das weniger als die halbe Miete.

    Danke
    Blaumann


  • Das mit der "height" erschließt sich mir nicht wirklich

    nun das height hier

    Code
    transition: [COLOR="#FF0000"]height[/COLOR] 0.3s ease-out;

    bedeutet das transition nur auf height angewendet wird und nicht auf eventuell andere geänderte css Definitionen

    lässt du es weg, wird es auf alle Änderungen angewendet

    du kannst auch mehrere Formatierungen einfügen

    angenommen nicht nur die Höhe sondern auch die Hintergrundfarbe wechselt

    Code
    transition: height 0.3s ease-out, background-color 1.5s ease-out;

    bedeutet, das die Höhe in 0.3 Sekunden sich ändert, die Hintergrundfarbe langsamer, also 1.5 Sekunden

  • Danke, in dem Zusammenhang versteh ich das.
    Wo es hakt, ist die doppelte Anweisung:
    Einmal height 0px

    und dann wieder 98px;

    Vor allem kann ich die Werte beliebig ändern, ohne dass es einen sichtbaren Effekt hat.

  • wann soll den der Effekt ausgeführt werden?
    in der Regel definiert man dies bei hover, also wenn man mit der Maus über einem Menüpunkt ist

    height 0px wäre dann der Ausgangszustand
    height 98px bei hover, mit der definierten transition

  • Heißt dass, dass die Anweisung "transition: height 0.3s ease-out;" zu
    #secondary li:hover > ul {
    display: block;
    }
    gehören würde?

    Hab ich probiert - ändert aber nichts...?!!:-(

  • das gehört dahin wo der Effekt ausgeführt werden soll, wenn du das selbst nicht weißt, woher soll ich das dann wissen?

    mal ein Beispiel damit du die Funktionsweise sehen kannst

    transition-beispiel.zip

    Zitat

    Hab ich probiert - ändert aber nichts...?!!

    was soll sich da auch ändern, ist ja nix definiert, außer display: block;

Jetzt mitmachen!

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