w3schools    w3Schools
Search :
   
HOME HTML CSS XML JAVASCRIPT ASP PHP SQL MORE...   References Examples Forum About
ADVERTISEMENTS

XML Certification
Download XML editor
Custom Programming
 
Table of contents
SVG Basic
SVG HOME
SVG Intro
SVG Example
SVG in HTML

SVG Shapes
SVG Rectangle
SVG Circle
SVG Ellipse
SVG Line
SVG Polygon
SVG Polyline
SVG Path

SVG Filters
SVG Intro
SVG Gaussian

SVG Gradients
SVG Linear
SVG Radial

SVG Examples
SVG Examples

SVG Reference
SVG Elements

Selected Reading
Web Statistics
Web Glossary
Web Hosting
Web Quality

Browse Tutorials
 

SVG animateTransform Element


SVG Reference Complete SVG Reference

Definition and Usage

The SVG animateTransform element is used to animate a transformation attribute on an element.


Example 1

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 2

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