Ich zeige ein modales Popup mit CSS3-Übergängen (weitgehend entlehnt von Effeckt.css). Es funktioniert gut in allen modernen Browsern außer Safari. In Safari ist die Bewegung in Ordnung, aber die Hintergrundfarbe rastet ungleichmäßig ein.Fehler in CSS3 rotateY Übergang auf Safari?
Dies ist der Code, das Problem in Safari auf OSX sichtbar: http://jsfiddle.net/eJsZx/4/
Ein Screenshot des Problems, bevor es löst sich auf. Sie können sehen, dass die Hälfte der Div korrekt weiß ist, die Hälfte ist immer noch transparent.
Dies ist der relevante Teil des CSS (.effeckt-show
und .md-effect-8
werden angewendet, wenn die Schaltfläche geklickt wird, das modal anzuzeigen):
.effeckt-modal {
visibility: hidden;
-webkit-backface-visibility: hidden;
-ms-backface-visibility: hidden;
-o-backface-visibility: hidden;
backface-visibility: hidden;
background: white;
}
.md-effect-8 {
-webkit-perspective: 1300px;
-ms-perspective: 1300px;
-o-perspective: 1300px;
perspective: 1300px;
-webkit-transform-style: preserve-3d;
-ms-transform-style: preserve-3d;
-o-transform-style: preserve-3d;
transform-style: preserve-3d;
}
.md-effect-8 .effeckt-modal {
-webkit-transform: rotateY(-70deg);
-ms-transform: rotateY(-70deg);
-o-transform: rotateY(-70deg);
transform: rotateY(-70deg);
-webkit-transition: all 500ms;
-o-transition: all 500ms;
transition: all 500ms;
opacity: 0;
}
.effeckt-show.md-effect-8 .effeckt-modal {
-webkit-transform: rotateY(0deg);
-ms-transform: rotateY(0deg);
-o-transform: rotateY(0deg);
transform: rotateY(0deg);
opacity: 1;
}
Für meine Lösung http://jsfiddle.net/ardeezstyle/cdcnyfr6/, ich habe eine kleine Änderung 'machen -webkit-transform: translateZ (1000px);' und es funktionierte wie ein Zauber. Meine +1. Danke #ndm –
rettete meinen Hintern! Danke :) FWIW, '-1000px' ist nicht nötig, wenn du noch keine verrückten Z-Übersetzungen hast, du kannst mit '-1px' durchkommen. – Jason