Wie setze ich einen CSS3-Übergang am besten auf „none“?

Lesezeit: 1 Minute

Benutzer-Avatar
schlaue Bohnen

Wie würde ich es schaffen, dass ein CSS-Übergang in einer Medienabfrage oder in jedem anderen Fall nicht funktioniert? Zum Beispiel:

@media (min-width: 200px) {
    element {
        transition: width 1s;
    }   
}

@media (min-width: 600px) {
    element {
        transition: none; // SET TO NO TRANSITION
    }   
}

Benutzer-Avatar
Christof Vilander

Sie können die einstellen Übergangs-Eigenschaft zu keiner. Auf diese Weise wird kein Übergangseffekt angewendet.

So was:

-webkit-transition-property: none;
-moz-transition-property: none;
-o-transition-property: none;
transition-property: none;

  • Kannst du nicht einfach einstellen transition: none (plus Präfixe, falls erforderlich)?

    – Tomekwi

    26. Januar 2015 um 11:06 Uhr

  • Wie wäre es mit transition: unset? Wäre das nicht so, als würde man die Eigenschaft als „Keine“ markieren?

    – Alexis Wilke

    18. Februar 2016 um 21:57 Uhr

  • @tomekwi Könntest du, aber das ist a Kurzschrift Eigentum das muss vom Interpreter erweitert werden. Einstellung transition-property erfordert diese verschwenderische Erweiterung nicht.

    – RockPaperLz – Maskiere es oder Casket

    14. Dezember 2016 um 10:16 Uhr

Noch besser als einstellen Übergangs-Eigenschaft zu keiner ist Einstellung Übergangszeit zu 0s.

Dies ist der Cross-Browser-Code:

-webkit-transition-duration: 0s;
-moz-transition-duration: 0s;
-o-transition-duration: 0s;
transition-duration: 0s;

Warum ist das besser? Denn standardmäßig sind standardkonforme Browser (zB Firefox) eingestellt Übergangs-Eigenschaft zu alle für jedes Element. Sie setzen auch Übergangszeit zu 0s. Also per Einstellung Übergangszeit zu 0sentsprechen Sie am ehesten der Art und Weise, wie der Browser ein Element ohne Übergang definiert.

Einstellung der Übergangszeit auf die Vorgabe 0s macht die Übergangs-Eigenschaft irrelevant.

transition: width 0s

Sollte den Trick machen – wie es im Grunde sagt, dass es einen Übergang gibt, aber 0s ist zu schnell, um ihn zu sehen!

  • nicht wirklich eine Lösung, wenn Ihr Übergang das Element skaliert

    – MOPS

    26. Dezember 2012 um 3:09 Uhr

1191700cookie-checkWie setze ich einen CSS3-Übergang am besten auf „none“?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy