No hay un tema más relevante que he encontrado para un problema que tuve, pero eso está relacionado con el problema mencionado anteriormente. Por lo tanto, podría ser útil para alguien.
En dos palabras: Tengo un contenedor (ventana emergente), un elemento dentro. Aparecerá de la siguiente manera: el fondo del contenedor se está oscureciendo a través de la opacidad y el elemento interno se está expandiendo (como acercarse a nosotros desde atrás). Todo funciona bien en todas partes, pero no en Safari (Mac/Win/iPhone). Safari "inicialmente" muestra mi contenedor, pero parpadea de forma extraña (aparece un pequeño flash corto).
Solo agregando -webkit-transform: translateZ (0); (al contenedor !!!) ayudó.
.container {
-webkit-transform: translateZ(0); /* <-- this */
}
.container section {
-webkit-transform: translateZ(0) scale(.92); /* <-- and I added translate here as well */
-webkit-transition: -webkit-transform .4s, opacity .3s;
opacity:0;
}
.container.active section {
-webkit-transform:translateZ(0) scale(1);
-webkit-transition: -webkit-transform .3s, opacity .3s;
opacity:1;
}
Pero hablando de las transiciones, también fue la siguiente parte del código:
.container {
...
top:-5000px;
left:-5000px;
-webkit-transition: opacity .5s, top 0s .5s, left 0s 5s, width 0s 5s, height 0s 5s;
}
.container.active {
-webkit-transition: opacity .5s;
top:0;
left:0;
width:100%;
height:100%;
}
teniendo en cuenta, que yo quiero mostrar/ocultar la ventana emergente usando sólo conmutación css (y también para hacerlo desaparecer muy bien en lugar de solo "mostrar: ninguno").
por lo que de alguna manera apareció Safari (obviamente) heredaba propiedades de transición además de "opacidad" incluso cuando las sobrecargué con -webkit-transition: opacity .5s;
así, añadiendo la siguiente resolvió el problema:
.container {
...
-webkit-transition: opacity .5s, top 0s 0s, left 0s 0s, width 0s 0s, height 0s 0s;
}
gran solución! Estoy haciendo una rotación de -3 grados, así que espero que no sea una gran pérdida de recursos. – tvalent2
Tenga en cuenta que los cambios en Safari 6 (en iOS) pueden invalidar este método de forzar la aceleración de la GPU. –
Agregué '-webkit-transform: translateZ (0);' a la clase 'container' en el violín original, pero aún cambia la fuente del texto del marcador de posición en Safari Version 7.0.3 (9537.75.14) en OSX 10.9 .2. Aquí está mi violín modificado http://jsfiddle.net/sYe6v/. ¿Alguna idea de lo que estoy haciendo mal? – sguha