Wir haben einige Felder, um einige Daten zum Hover anzuzeigen. Wenn wir also die Maus über ein Element bewegen, sollte es sich erweitern, vor andere Elemente treten und die versteckten Daten anzeigen.CSS: Verhindern, dass eine Eigenschaft Auswirkungen auf das Element bis zum Ende des Übergangs hat
Ich habe so etwas wie dies:
box:hover {
z-index: 50;
}
Aber es gibt ein Problem; Wenn wir die Maus auf einen anderen äußeren Leerraum bewegen, wird der z-index
wieder auf den Wert zurückgesetzt, wie bei anderen auch. Es ist also sichtbar, dass das Element schweben in der unteren Ebene liegt.
Wie kann verhindert werden, dass eine Eigenschaft bis zum Ende des Übergangs angewendet wird?
Hier ist meine jsFiddle. Versuchen Sie, auf einem Element zu schweben, bewegen Sie die Maus aus dem Element heraus und das Hintergrundbild anderer Elemente wird vor dem Ende des Übergangs vor unserem Element mit dem Schweben liegen.
Update: Dies ist der Screenshot des Problems. Dies ist der Zeitpunkt, an dem wir uns von Elementen lösen. background-image
eines anderen Elements kommen vor unserem schwebenden Element.
Es kann ein Artefakt von meinem Browser (Safari Mac), aber ich habe nicht das Problem, das Sie beschreiben. Mit Chrome bekomme ich jedoch einen roten Hintergrund, also vermute ich, dass das CSS wackelig ist. –
@MAGNAWS Screenshot hinzugefügt, um die Situation besser zu beschreiben – mrReiha
Das passiert nicht in meinen Browsern (Safari, Chrome oder Firefox auf Mac). Safari zeigt jedoch den Hintergrund des Hauptfensters als weiß an. Ich vermute, dass das CSS kaputt ist. Mit "gebrochen" meine ich nicht unbedingt "falsch". Es kann in einem undefinierten Bereich sein; wo verschiedene Browser anders reagieren. Was ich normalerweise in diesen Fällen tue, ist zu versuchen, in die einfachste mögliche Form umzuformen; manchmal gibt man dabei etwas Phantasie auf (Es ist ein schöner Effekt, BTW). –