W3Schools.com

SVG animateMotion Element


SVG Reference Complete SVG Reference

Definition and Usage

The SVG animateMotion element is used to move an element along a motion path.


Example 1

This example creates a text that will move along a motion path.

Copy the following code into Notepad and save the file as "animatemotion_0.svg". Place the file in your Web directory:

<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">

<svg width="100%" height="100%" version="1.1"
xmlns="http://www.w3.org/2000/svg">

<g transform="translate(100,100)">
<text id="TextElement" x="0" y="0"
style="font-family:Verdana;font-size:24"> It's SVG!
<animateMotion path="M 0 0 L 100 100" dur="5s" fill="freeze"/>
</text>
</g>

</svg>

View example

Example 2

This example creates a text that will move along a motion path. The text will also rotate and scale.

Copy the following code into Notepad and save the file as "animatemotion_1.svg". Place the file in your Web directory:

<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">

<svg width="100%" height="100%" version="1.1"
xmlns="http://www.w3.org/2000/svg">

<g transform="translate(100,100)">
<text id="TextElement" x="0" y="0"
style="font-family:Verdana;font-size:24;
visibility:hidden"> It's SVG!
<set attributeName="visibility" attributeType="CSS"
to="visible" begin="1s" dur="5s" fill="freeze"/>
<animateMotion path="M 0 0 L 100 100" begin="1s"
dur="5s" fill="freeze"/>
<animateTransform attributeName="transform"
attributeType="XML" type="rotate" from="-30" to="0"
begin="1s" dur="5s" fill="freeze"/>
<animateTransform attributeName="transform"
attributeType="XML" type="scale" from="1" to="3"
additive="sum" begin="1s" dur="5s" fill="freeze"/>
</text>
</g>

</svg>

View example

Example 3

This example creates a text that will move along a motion path. The text will also rotate, scale and change color. We have also added a rectangle that will "grow" and change color in the background.

Copy the following code into Notepad and save the file as "animatemotion_2.svg". Place the file in your Web directory:

<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">

<svg width="100%" height="100%" version="1.1"
xmlns="http://www.w3.org/2000/svg">

<rect id="rec" x="300" y="100" width="300" height="100"
style="fill:lime">
<animate attributeName="x" attributeType="XML" begin="0s"
dur="6s" fill="freeze" from="300" to="0"/>
<animate attributeName="y" attributeType="XML" begin="0s"
dur="6s" fill="freeze" from="100" to="0"/>
<animate attributeName="width" attributeType="XML"
begin="0s" dur="6s" fill="freeze" from="300" to="800"/>
<animate attributeName="height" attributeType="XML"
begin="0s" dur="6s" fill="freeze" from="100" to="300"/>
<animateColor attributeName="fill" attributeType="CSS"
from="lime" to="red" begin="2s" dur="4s" fill="freeze"/>
</rect>

<g transform="translate(100,100)">
<text id="TextElement" x="0" y="0"
style="font-family:Verdana;font-size:24;visibility:hidden">
It's SVG!
<set attributeName="visibility" attributeType="CSS"
to="visible" begin="1s" dur="5s" fill="freeze"/>
<animateMotion path="M 0 0 L 100 100" begin="1s"
dur="5s" fill="freeze"/>
<animateColor attributeName="fill" attributeType="CSS"
from="red" to="blue" begin="1s" dur="5s" fill="freeze"/>
<animateTransform attributeName="transform"
attributeType="XML" type="rotate" from="-30" to="0"
begin="1s" dur="5s" fill="freeze"/>
<animateTransform attributeName="transform"
attributeType="XML" type="scale" from="1" to="3"
additive="sum" begin="1s" dur="5s" fill="freeze"/>
</text>
</g>

</svg>

View example


SVG Reference Complete SVG Reference

W3Schools Certification

W3Schools' Online Certification

The perfect solution for professionals who need to balance work, family, and career building.

More than 10 000 certificates already issued!

Get Your Certificate »

The HTML Certificate documents your knowledge of HTML.

The CSS Certificate documents your knowledge of advanced CSS.

The JavaScript Certificate documents your knowledge of JavaScript and HTML DOM.

The jQuery Certificate documents your knowledge of jQuery.

The XML Certificate documents your knowledge of XML, XML DOM and XSLT.

The ASP Certificate documents your knowledge of ASP, SQL, and ADO.

The PHP Certificate documents your knowledge of PHP and SQL (MySQL).

WEB HOSTING
Best Web Hosting
PHP MySQL Hosting
Best Hosting Coupons
UK Reseller Hosting
Cloud Hosting
Top Web Hosting
$7.95/mo SEO Hosting
Premium Website Design
WEB BUILDING
Download XML Editor
FREE Website BUILDER
Free Website Templates Free CSS Templates
Make Your Own Website
W3SCHOOLS EXAMS
Get Certified in:
HTML, CSS, JavaScript, XML, PHP, and ASP
W3SCHOOLS BOOKS
New Books:
HTML, CSS
JavaScript, and Ajax
STATISTICS
Browser Statistics
Browser OS
Browser Display
SHARE THIS PAGE