Así que tengo algunos elementos nativos (div
s) con varios efectos aplicados (border-radius
, box-shadow
y transform: scale()
). Cuando los vivo, suceden dos cosas raras:animaciones CSS3 con transformación causa elementos borrosos en Webkit
- Aunque no estoy tratando de animar la escala, si no pongo la escala en la animación, se ignora.
- Cuando pongo la escala en la animación, Webkit difumina los elementos
Vea el ejemplo aquí: http://jsfiddle.net/trolleymusic/RHeCL/ - Los botones en la parte inferior dará lugar a los problemas.
El primer problema también ocurre en Firefox, así que supongo que es porque así es como se supone que funciona la especificación de animación. No es lo que quería, pero está bien, viviré con eso.
El segundo problema es simplemente extraño. Sé que tiene que ver con transformación 3D porque si (solo para fines de prueba) declaro -webkit-perspective
o -webkit-transform-style: preserve-3d;
en los elementos del círculo, también causa el problema de desenfoque. Mi confusión es que no estoy tratando de transformar el índice z como todo, y también he intentado las animaciones usando puramente translateY
en lugar de translate
.
Sucede en Chrome (18), Chrome Canary (20) y Safari (5.1.2 & 5.1.4).
Entonces, ¿tengo razón en lo que creo que está sucediendo? ¿Y cómo puedo evitar la borrosidad?
En el peor de los casos: Puedo usar diferentes tamaños para los elementos en lugar de escalarlos, eso no es realmente un problema, pero pensé que esta sería una solución más elegante y ahora este problema ha surgido.
Se ignora porque tanto la escala como la traducción son valores de la propiedad de transformación. Al animar, anula la transformación anterior, es decir, la escala. – mddw
Sí, eso creía. Supongo que así es como funciona la propiedad 'transform', es una pena que no puedas establecer individualmente las diferentes propiedades. EG: Puedo animar la opacidad de múltiples elementos con diferentes clases que tienen diferentes propiedades en ellos. – Trolleymusic