Animar transformar solo una propiedad (escala) anular otra (traducir)
El problema es que eltransform
El valor de la propiedad tiene múltiples partes comotranslate
, scale
etc.
Esta es una pregunta teórica sobre el elemento, vamos.loader
que tienetransform:translate(10px, 10px)
y en la animación quiero animarscale
propiedad. En este caso, el navegador no tomará eltransform:translate(10px, 10px)
y tomará solo elscale
.
Estoy buscando una solución a este problema.
Aquí hay un ejemplo de esta pregunta. Por favor, tenga en cuenta que no estoy buscando una respuesta a este ejemplo en particular (como: ajustar el elemento o agregar eltranslate
valor para la definición de animación) pero una solución genérica (si existe, por supuesto).
.loading {
position: relative;
width: 100px;
height: 100px;
background: #eee;
}
.loading:before,
.loading:after {
content: "";
width: 50%;
height: 50%;
-moz-border-radius: 50%;
-webkit-border-radius: 50%;
border-radius: 50%;
background-color: #fff;
opacity: 0.6;
position: absolute;
top: 0;
left: 0;
/* the broswer doesn't take this */
transform: translate(100px, 300px);
-webkit-animation: bounce 2s infinite ease-in-out;
animation: bounce 2s infinite ease-in-out;
}
.loading:after {
-webkit-animation-delay: -1s;
animation-delay: -1s;
}
@keyframes bounce {
0%, 100% {
transform: scale(0);
-webkit-transform: scale(0);
}
50% {
transform: scale(1);
-webkit-transform: scale(1);
}
}
<div class="loading"></div>