вращение
Атрибут rotate определяет, как анимированный элемент вращается по траектории, заданной в элементе <animateMotion>.
Вы можете использовать этот атрибут со следующими элементами SVG:
Примечания к использованию
| Значение | auto | auto-reverse | <number> |
|---|---|
| Значение по умолчанию | 0 |
| Анимируемо | Нет |
Значения auto и auto-reverse позволяют динамически изменять вращение анимированного элемента по мере перемещения по траектории. Если значение rotate равно auto, элемент поворачивается так, чтобы его правая сторона совпала с текущим направлением движения. Если значение равно auto-reverse, он поворачивается так, чтобы его левая сторона совпала с текущим направлением движения.
Установка значения rotate на число задаёт постоянное вращение в градусах, которое не меняется во время анимации. Значение по умолчанию 0 сохраняет ориентацию анимированного элемента.
Примеры
SVG
<svg width="400" height="120" viewBox="0 0 480 120" xmlns="http://www.w3.org/2000/svg"> <!-- Draw the outline of the motion path in grey --> <path d="M10,110 A120,120 -45 0,1 110 10 A120,120 -45 0,1 10,110" stroke="lightgrey" stroke-width="2" fill="none" id="theMotionPath" /> <!-- Red arrow which will not rotate --> <path fill="red" d="M-5,-5 L10,0 -5,5 0,0 Z"> <!-- Define the motion path animation --> <animateMotion dur="6s" repeatCount="indefinite" rotate="0"> <mpath href="#theMotionPath" /> </animateMotion> </path> <g transform="translate(100, 0)"> <use href="#theMotionPath" /> <!-- Green arrow which will rotate along the motion path --> <path fill="green" d="M-5,-5 L10,0 -5,5 0,0 Z"> <!-- Define the motion path animation --> <animateMotion dur="6s" repeatCount="indefinite" rotate="auto"> <mpath href="#theMotionPath" /> </animateMotion> </path> </g> <g transform="translate(200, 0)"> <use href="#theMotionPath" /> <!-- Blue arrow which will rotate backwards along the motion path --> <path fill="blue" d="M-5,-5 L10,0 -5,5 0,0 Z"> <!-- Define the motion path animation --> <animateMotion dur="6s" repeatCount="indefinite" rotate="auto-reverse"> <mpath href="#theMotionPath" /> </animateMotion> </path> </g> <g transform="translate(300, 0)"> <use href="#theMotionPath" /> <!-- Purple arrow which will have a static rotation of 210 degrees --> <path fill="purple" d="M-5,-5 L10,0 -5,5 0,0 Z"> <!-- Define the motion path animation --> <animateMotion dur="6s" repeatCount="indefinite" rotate="210"> <mpath href="#theMotionPath" /> </animateMotion> </path> </g> </svg>
Результат
Спецификации
| Спецификация |
|---|
| SVG Анимации уровень 2 # RotateAttribute |
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/rotate