Возможно ли с помощью текущего CSS3 перевести объект (в частности, DIV) вдоль дуги или кривой? Вот изображение, которое поможет проиллюстрировать. CSS3 Перевести через дугу
ответ
Вы можете использовать вложенные элементы и заставить обертку и внутренний элемент вращаться в противоположных направлениях, так что вращение внутреннего элемента компенсирует вращение обертки.
Если вам не нужно держать вложенный элемент горизонтальным, вы можете опустить внутреннее вращение.
Адрес Dabblet. Стек Отрывок:
/* 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>
Кроме того, Ли Вера написала статью по этому вопросу с образом, чтобы использовать только один элемент: http://lea.verou.me/2012/02/moving-an-element-along-a-circle/
Отличный ответ, действительно позволил мне вырваться из коробки, в которой я был, с анимацией и понять, как много можно сделать с относительной анимацией. – Jasper
Да, что анимация может быть создан с помощью преобразования-происхождения свойство CSS3 , чтобы установить точку поворота в дальнем правом углу, так что движется, как это.
Проверьте это: http://jsfiddle.net/Q9nGn/4/(поместить курсор)
#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>
Чтобы сохранить анимацию, вы можете скомпенсировать изменение в 'transform-origin' только с небольшой математикой, чтобы вы могли продолжать анимацию по разным путям. [Fiddle] (http://jsfiddle.net/LuArL/) –
Альтернативой перемещения преобразования координат, является использование двойного вложенного элемента, где х-преобразование применяется к внешнему контейнеру, и y-преобразование с соответствующей кривой ослабления применяется к внутреннему контейнеру.
- 1. CSS3 Перевести несколько раз?
- 2. CSS3 - Перевести на русский:
- 3. CSS3 перевести вопрос Переполнение
- 4. Как сделать анимированную дугу, используя css3
- 5. Как создать эту дугу с помощью CSS3?
- 6. CSS3 Перевести: Перевести элемент на пути эллипса
- 7. CSS3 Transform Перевести на левые
- 8. анимация CSS3, перевести на позицию
- 9. CSS3 Animate/Перевести DIV с Submit Button
- 10. Рассчитайте, как далеко перевести дугу, чтобы избежать перекрестка
- 11. Нарисуйте дугу с CSS3 с 45-градусными сегментами
- 12. Использование CSS3 перевести вместо позиции: левый
- 13. Получение текущего CSS3 Перевести в анимации
- 14. Как перевести этот CSS3 на Javascript?
- 15. CSS3 Перевести на дочернем элементе не работает
- 16. CSS3 Перевести 3d Transform с JavaScript Drag
- 17. Как нарисовать дугу через 3 точки
- 18. Проведите дугу через три точки opencv
- 19. анимация через css3 переход
- 20. Переход одного файла в дугу
- 21. Совместимость браузеров CSS3 через годы
- 22. Как перевести код CSS3 в JQuery в WordPress
- 23. Как я могу перевести следующую анимацию/переход на css3?
- 24. Получить новую позицию элемента после CSS3 перевести анимацию?
- 25. Почему отличается CSS3 вращать + перевести против поворота + влево
- 26. swift: как рисовать дугу на карте через MapKit?
- 27. Учитывая 3 пункта, как построить дугу, которая проходит через них?
- 28. Выдавить дугу в Three.js
- 29. Как масштабировать дугу?
- 30. Динамически рисовать дугу
Если контекст позволяет может быть в состоянии использовать CSS3-х [закругленные углы] (http://www.css3.info/preview/rounded-border/) и прозрачные прозрачные пленки для подделки цветной параболы. – taz