Stapeln Sie CSS-Übergänge mit mehreren Klassen ohne Überschreiben

9

Ich möchte mehrere Klassen verwenden, um optional Übergänge hinzuzufügen. Anstatt zu stapeln, wird das vorherige überschrieben.

%Vor%

Das Problem: Die Eigenschaft wird überschrieben und nicht gestapelt

Ссылка (Das Problem)

Meine temporäre Lösung: Fügen Sie der Regel den vorherigen Übergang hinzu

%Vor%

Ссылка (Meine vorläufige Lösung)

Was ist eine bessere Lösung?

Wie kann ich vermeiden, viele Regeln zu erstellen, um diese zu kombinieren?

    
Michael Lewis 02.06.2013, 23:38
quelle

1 Antwort

2

JavaScript könnte eine sauberere Lösung sein, da Sie nur eine CSS-Regel (die ursprüngliche Regel) haben müssen.

Wenn Sie die Position Ihrer Regel kennen, können Sie Folgendes tun:

%Vor%

Jetzt enthält originalRule Folgendes:

%Vor%

Und originalHover enthält Folgendes:

%Vor%

Um einfach einen weiteren Übergangseffekt hinzuzufügen, können Sie Folgendes tun.

%Vor%

In diesem Stadium werden beide Übergänge wirksam.

Wenn Sie nur den ursprünglichen Übergang haben möchten, können Sie ihn entweder manuell hinzufügen oder einfach ...

%Vor%

Wenn Sie dies tun, wird nur der ursprüngliche Übergang (Rand) wirksam. Vergessen Sie nicht, auch die originaleHover-Regel zu ersetzen, um andere Effekte beim Schweben zu entfernen.

Hinweis:

Für Chrome

%Vor%

Für Firefox

%Vor%

Für IE insertRule und deleteRule funktionieren nicht, stattdessen gibt es diese:

%Vor%

LIVE-DEMO FÜR CHROM UND FIREFOX

    
Ali Bassam 03.06.2013, 02:39
quelle

Tags und Links