Sto visualizzando un popup modale utilizzando le transizioni CSS3 (ampiamente preso in prestito da Effeckt.css). Funziona bene con tutti i browser moderni eccetto Safari. In Safari, il movimento è OK, ma il colore di sfondo scatta in modo non uniforme.Bug in transizione CSS3 ruotateY su Safari?
Questo è il codice, il problema è visibile in Safari su OSX: http://jsfiddle.net/eJsZx/4/
Una schermata del problema prima che si risolve. Puoi vedere che metà del div è correttamente colorato di bianco, metà è ancora trasparente.
Questa è la parte rilevante del CSS (.effeckt-show
e .md-effect-8
vengono applicate quando il pulsante viene premuto, per mostrare la modale):
.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;
}
Per la mia soluzione http://jsfiddle.net/ardeezstyle/cdcnyfr6/, ho da fare un piccolo cambiamento '-webkit-transform: translateZ (1000 px),' e ha funzionato come un fascino. Il mio +1. Grazie #ndm –
Salvato il mio culo! Grazie :) FWIW, '-1000px' non è necessario se non hai già una traduzione Z folle, puoi farla franca con' -1px'. – Jason