È possibile con gli attuali CSS3 tradurre un oggetto (in particolare un DIV) lungo un arco o una curva? Ecco un'immagine per aiutarti a illustrare. CSS3 Traduci su un arco
risposta
È possibile utilizzare elementi nidificati e far ruotare l'involucro e l'elemento interno in direzioni opposte in modo che la rotazione dell'elemento interno compensi la rotazione dell'involucro.
Se non è necessario mantenere orizzontale l'elemento nidificato, è possibile omettere la rotazione interna.
Questo è un Dabblet. Stack Snippet:
/* 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>
Inoltre, Lea Verou ha scritto un articolo su questo tema con un modo che usa un solo elemento: http://lea.verou.me/2012/02/moving-an-element-along-a-circle/
Ottima risposta, mi ha davvero permesso di uscire dalla scatola in cui mi trovavo con le animazioni e rendermi conto di quanto ancora si può fare con le animazioni relative. – Jasper
Sì, che l'animazione può essere creato utilizzando la proprietà CSS3 trasformare origine per impostare il punto di rotazione in fondo a destra in modo che si muove così.
Check it out: http://jsfiddle.net/Q9nGn/4/(mettere il mouse sopra)
#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>
Per mantenere attiva l'animazione, è possibile compensare la modifica in "transform-origin" con un po 'di matematica, in modo da poter continuare ad animare su percorsi diversi. [Fiddle] (http://jsfiddle.net/LuArL/) –
Un'alternativa a spostare l'origine trasformare, è quello di utilizzare un doppio elemento nidificato dove un x-transform viene applicato al contenitore esterno e al contenitore interno viene applicata una trasformazione y con una curva di andamento appropriata.
- 1. testo forma arco con supporto css3 e ie8
- 2. jQuery: Fuoco cliccare su evento su un arco
- 3. Traduci espressioni regolari Perl su .NET
- 4. Disegnare un arco e sfumarlo
- 5. Il vantaggio di Arco su racchetta
- 6. diversi colori fillStyle per arco su tela
- 7. Traduci HRESULT in un messaggio leggibile
- 8. Traduci stringa attribuita
- 9. Traduci il messaggio flash
- 10. Traduci una tabella in un dizionario gerarchico?
- 11. Transizione Css3 solo su scala
- 12. Quando useresti un Mutex senza arco?
- 13. Come aggiungere un semplice arco con D3
- 14. Android - Come disegnare un gradiente ad arco
- 15. D3 molto semplice: come disegnare un arco?
- 16. Traduci richiesta cURL a Guzzle
- 17. Tela arco() vs drawImage()
- 18. Traduci codice C# in AST?
- 19. Traduci matlab in python/numpy
- 20. Traduci automaticamente i file .po?
- 21. Traduci da monad a applicativo
- 22. Traduci istruzione LINQ to sql
- 23. Come animare i CSS Traduci
- 24. traduci pulsante indietro ionico 2
- 25. Safari animazione CSS3 compatibile su un elemento SVG
- 26. animazione css3 su: hover; forzare intera animazione
- 27. CSS3 3D Transform non funziona su IE11
- 28. Raggio di confine CSS3 su HTML5 Canvas
- 29. Qualità immagine animazione CSS3 su scala
- 30. Bug in transizione CSS3 ruotateY su Safari?
Se il contesto lo permette si può essere in grado di utilizzare CSS3 di [angoli arrotondati] (http://www.css3.info/preview/rounded-border/) e bordi trasparenti per simulare una parabola colorata. – taz