Usado para crear imágenes vectoriales 2D. Scalable Vector Grafics (SVG) es un estandard abierto desarrollado por la W3C desde 1999, basado en XML. Hoy en día la mayoría de los navegadores son capaces de reproducir gráficos SVG exactamente como reproducen una imagen.
A diferencia de la etiqueta <canvas> donde los gráficos son dibujados de manera programática, en SVG los elementos pertenecen al DOM. Por ejemplo: si queremos dibujar un circulo, el circulo es en realidad una etiqueta <circle>, y un <script> puede referirse al circulo y lo puede manipular, casi de la misma manera como puede manipular cualquiero otra etiqueta HTML.
Puede contener vectores gráficos como son: polilineas, poligonos, circulos y elipses. Ademas de images y texto.
<svg width=500px height=200px> <rect x=100 y=0 rx=10 ry=10 width=300 height=100 fill=red stroke=black stroke-width=3 /> </svg>
El origen de coordenadas en SVG es la esquina superior-izquierda.
Especifica un nombre único de identificación principalmente para acciones con CSS o JavaScript.
Atributo | Descripción |
---|---|
x1 | Numero. Coordenada x origen (horizontal) |
y1 | Numero. Coordenada y origen (vertical) |
x2 | Numero. Coordenada x fin (horizontal) |
y2 | Numero. Coordenada y fin (vertical) |
fill | Color relleno. none|color |
stroke | Color borde |
stroke-width | Ancho borde |
<line x1=50 y1=50 x2=150 y2=50 stroke=#bdc3c7 strokewidth=3 />
Atributo | Descripción |
---|---|
points | Numero,numero. Coordenada de cada punto |
fill | Color relleno. none|color |
stroke | Color borde |
stroke-width | Ancho borde |
<polyline points="0,40 40,40 40,80 80,80 80,120" fill=none stroke=#bdc3c7 stroke-width=10 />
Atributo | Descripción |
---|---|
cx | Numero. Coordenada x origen (horizontal) |
cy | Numero. Coordenada y origen (vertical) |
rx | Numero. Redondea la esquina |
ry | Numero. Redondea la esquina |
width | Numero. Ancho (horizontal) |
height | Numero. Alto (vertical) |
fill | Color relleno. none|color |
stroke | Color borde |
stroke-width | Ancho borde |
<rect cx=200 cy=50 width=100 height=150 fill=#d6a085 stroke=#bd8347 stroke-width=10 />
Atributo | Descripción |
---|---|
points | Numero,numero. Coordenada de cada punto |
fill | Color relleno. none|color |
stroke | Color borde |
stroke-width | Ancho borde |
<polygon points="200,100 250,180 160,210" fill=yellow stroke=black strokewidth=4 />
Atributo | Descripción |
---|---|
cx | Numero. Coordenada x (horizontal) |
cy | Numero. Coordenada y (vertical) |
r | Numero. Radio |
fill | Color relleno. none|color |
stroke | Color borde |
stroke-width | Ancho borde |
<circle cx=150 cy=100 r=40 fill=red />
Atributo | Descripcion |
---|---|
cx | Numero. Coordenada x (horizontal) |
cy | Numero. Coordenada y (vertical) |
rx | Numero. Radio x |
ry | Numero. Radio y |
fill | Color relleno. none|color |
stroke | Color borde |
stroke-width | Ancho borde |
<ellipse cx=100 cy=100 rx=30 ry=80 fill=line stroke=green strokewidth=4 />
<svg x=0 y=0 width=400 height=230 viewBox="0 0 400 230"> <circle cx=0 cy=0 r=50 fill=red></circle> <line x1=50 y1=50 x2=150 y2=50 stroke=blue strokewidth=3 /> <line x1=140 y1=50 x2=150 y2=100 stroke=navy strokewidth=6 /> <ellipse cx=100 cy=100 rx=30 ry=80 fill=lime stroke=green strokewidth=4 /> <rect x=200 y=50 width=100 height=150 fill=olive stroke=maroon strokewidth=10 /> <polyline points="0,40 40,40 40,80 80,80 80,120" fill=none stroke=purple strokewidth=10 /> <polygon points="200,100 250,180 160,210" fill=yellow stroke=black strokewidth=4 /> </svg>
<svg width=300 height=200> <polygon points="100,10 40,198 190,78 10,78 160,198" Style="fill:lime;stroke:purple;stroke-width:1;fill-rule:evenodd;" /> </svg>
<svg height=130 width=500> <defs> <linearGradient id=grad1 x1=0% y1=0% x2=100% y2=0%> <stop offset=0% style="stop-color:rgb(255,255,0);stop-opacity:1" /> <stop offset=100% style="stop-color:rgb(255,0,0);stop-opacity:1" /> </linearGradient> </defs> <ellipse cx=100 cy=70 rx=85 ry=55 fill=url(#grad1) /> <text x=50 y=86 fill=white font-size=45 font-family=Verdana>SVG</text> Perdón, tu navegador no soporta gráficos SVG. </svg>