You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1.9 KiB
1.9 KiB
SVG
Base tag
Everything goes inside here
<svg></svg>
Positioning
SVG tag is an inline element
- (0,0) - x = 0, y = 0
- starts at top left
- y increases vertically down
- can use negative values
- -x goes left
- -y goes up
Circle
- attributes
rradiuscxx positioncyy position
<svg height="800" width="500">
<circle/>
<circle r="50"/>
<circle r="50" cx="200" cy="300"/>
</svg>
Line
- attributes
x1starting x positiony1starting y positionx2ending x positiony2ending y position
<svg height="800" width="500">
<line/>
<line x1="0" y1="0" x2="100" y2="100"/> <!-- no stroke, so invisible -->
<line x1="0" y1="0" x2="100" y2="100" stroke="purple"/>
<line x1="10" y1="0" x2="10" y2="100" stroke="red"/>
<line x1="30" y1="10" x2="130" y2="10" stroke="blue"/>
</svg>
Rectangle
- attributes
xx position of top leftyy position of top left
<rect x="50" y="20" width="150" height="150"></rect>
Ellipse
Polygon
Polyline
Path
Styling
Can be done with attributes:
fill=redorfill=#ff0000fill colorstroke=redorstroke=#ff0000stroke colorstroke-width=4width of strokefill-opacity=0.5transparency of fillstroke-opacity=0.5transparency of stroketransform = "translate(2,3)"transform = "scale(2.1)"transform = "rotate(45deg)"
Can also be done with CSS:
circle {
fill:red;
stroke:blue;
stroke-width:3;
fill-opacity:0.5;
stroke-opacity:0.1;
transform:rotate(45deg) scale(0.4) translate(155px, 1px);
}
Text
Content of tag is the text
<text x="0" y="15">I love SVG!</text>
Can use font-family and font-size CSS styling
Group
<g></g>- can put multiple elements inside it.
- positioning and styling apply to children