¿Es posible con el CSS3 actual traducir un objeto (específicamente un DIV) a lo largo de un arco o curva? Aquí hay una imagen para ayudar a ilustrar. CSS3 Traducir a través de un arco
Respuesta
Puede usar elementos anidados y hacer que la envoltura y el elemento interior giren en direcciones opuestas de modo que la rotación del elemento interno compense la rotación de la envoltura.
Si no necesita mantener horizontal el elemento anidado, puede omitir la rotación interna.
Aquí hay un Dabblet. Pila Fragmento:
/* Arc movement */
.wrapper {
\t width: 500px;
\t margin: 300px 0 0;
\t transition: all 1s;
\t transform-origin: 50% 50%;
}
.inner {
\t display: inline-block;
\t padding: 1em;
\t transition: transform 1s;
\t background: lime;
}
html:hover .wrapper {
\t transform: rotate(180deg);
}
html:hover .inner {
\t transform: rotate(-180deg);
}
<div class="wrapper">
<div class="inner">Hover me</div>
</div>
Además, Lea Verou escribió un artículo sobre este tema con una forma que utiliza un solo elemento: http://lea.verou.me/2012/02/moving-an-element-along-a-circle/
Una gran respuesta, realmente me permitió salir de la caja con animaciones y darme cuenta de cuánto más se puede hacer con animaciones relativas. – Jasper
Sí, que la animación se puede crear utilizando la propiedad transform origen CSS3 para establecer el punto de rotación en el extremo derecho lo que se mueve de esa manera.
Compruébelo usted mismo: http://jsfiddle.net/Q9nGn/4/(poner el mouse sobre)
#c {
border: 1px solid black;
height: 400px;
}
#c:hover #m {
-webkit-transform: rotate(180deg);
-webkit-transition: all 1s ease-in-out;
-moz-transform: rotate(180deg);
-moz-transition: all 1s ease-in-out;
-o-transform: rotate(180deg);
-o-transition: all 1s ease-in-out;
-ms-transform: rotate(180deg);
-ms-transition: all 1s ease-in-out;
transform: rotate(180deg);
transition: all 1s ease-in-out;
}
#m {
width: 60px;
height: 60px;
position: absolute;
background: green;
border-radius: 30px;
top: 270px;
left: 20px;
-webkit-transform-origin:300px 30px;
-moz-transform-origin:300px 30px;
-o-transform-origin:300px 30px;
-ms-transform-origin:300px 30px;
transform-origin:300px 30px;
}
<div id="c">
<div id="m"></div>
</div>
Para mantener activa la animación, puede compensar el cambio en 'origen de transformación 'con solo un poco de matemática, para poder seguir animando por diferentes caminos. [Fiddle] (http://jsfiddle.net/LuArL/) –
Una alternativa para mover el origen transformar, es el uso de un doble elemento anidado, donde transformada x una se aplica al contenedor externo, y se aplica una transformación y con una curva de suavización apropiada al contenedor interno.
- 1. Animación CSS3, traducir a la posición
- 2. traducir vs transformar origen css3
- 3. Píntame un arco iris
- 4. ¿Convertir archivos individuales a arco?
- 5. ¿Hay alguna manera de curvar/texto de arco usando CSS3/Canvas
- 6. ¿Traducir una tabla a un diccionario jerárquico?
- 7. Traducir un lienzo html5
- 8. ¿Rescate de un objeto con arco?
- 9. Traducir Algoritmo C a Python
- 10. Traducir matlab a python/numpy
- 11. Traducir sentencia LINQ a sql
- 12. Trazando un arco en discretos pasos
- 13. ¿Cómo traducir un módulo OpenERP?
- 14. Traducir el código de Python a Smalltalk
- 15. haciendo un arco en d3.js
- 16. ¿Cómo añadir un arco sencillo con D3
- 17. Cómo traducir de un idioma a otro en Android
- 18. Calcular centro de SVG arco
- 19. Arco de lienzo() vs drawImage()
- 20. Cómo dibujar un arco elíptico con CoreGraphics?
- 21. Agregar al azar a un bucle de animación css3
- 22. Traducir expresiones regulares de Perl a .NET
- 23. Calcular ruta de arco n-dimensional
- 24. MediaPlayer.framework: cómo "traducir" MPMusicRepeatModeDefault a un modo real?
- 25. Traducir las coordenadas del mouse a un plan 3D
- 26. ¿Herramienta correcta para traducir un DSL a SQL?
- 27. Traducir PersistenceException a DataAccessException en Spring
- 28. Traducir a Idiomas con Reglas Irregulares
- 29. Especifique el arco en GHC?
- 30. Dibuja un arco con un SweepGradient en Android
Si el contexto lo permite usted puede ser capaz de utilizar CSS 3 de [esquinas redondeadas] (http://www.css3.info/preview/rounded-border/) y transparencias fronterizas para simular una parábola coloreada. – taz