# SVG ## Base tag Everything goes inside here ```xml ``` ## 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 - `r` radius - `cx` x position - `cy` y position ```xml ``` ## Line - attributes - `x1` starting x position - `y1` starting y position - `x2` ending x position - `y2` ending y position ```xml ``` ## Rectangle - attributes - `x` x position of top left - `y` y position of top left ```xml ``` ## Ellipse - attributes - `cx` x position - `cy` y position - `rx` x radius - `ry` y radius ```xml ``` ## Polygon ## Polyline ## Path ## Styling Can be done with attributes: - `fill=red` or `fill=#ff0000` fill color - `stroke=red` or `stroke=#ff0000` stroke color - `stroke-width=4` width of stroke - `fill-opacity=0.5` transparency of fill - `stroke-opacity=0.5` transparency of stroke - `transform = "translate(2,3)"` - `transform = "scale(2.1)"` - `transform = "rotate(45deg)"` Can also be done with CSS: ```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 ```xml I love SVG! ``` Can use font-family and font-size CSS styling ## Group - `` - can put multiple elements inside it. - positioning and styling apply to children ## Documentation https://developer.mozilla.org/en-US/docs/Web/SVG/Element