HTML5 - SVG

SVG sta per Scalable Vector Graphics ed è un linguaggio per descrivere la grafica 2D e le applicazioni grafiche in XML e l'XML viene quindi reso da un visualizzatore SVG.

SVG è principalmente utile per diagrammi di tipo vettoriale come grafici a torta, grafici bidimensionali in un sistema di coordinate X, Y ecc.

SVG è diventato una raccomandazione W3C il 14 gennaio 2003 ed è possibile controllare l'ultima versione della specifica SVG in Specifiche SVG .

Visualizzazione di file SVG

La maggior parte dei browser Web può visualizzare SVG proprio come possono visualizzare PNG, GIF e JPG. Gli utenti di Internet Explorer potrebbero dover installare Adobe SVG Viewer per poter visualizzare SVG nel browser.

Incorporamento di SVG in HTML5

HTML5 consente di incorporare SVG direttamente utilizzando <svg>...</svg> tag che ha la seguente sintassi semplice:

<svg xmlns = "http://www.w3.org/2000/svg">
   ...    
</svg>

Firefox 3.7 ha anche introdotto un'opzione di configurazione ("about: config") in cui è possibile abilitare HTML5 utilizzando i seguenti passaggi:

  • genere about:config nella barra degli indirizzi di Firefox.

  • Fare clic su "Starò attento, lo prometto!" sul messaggio di avviso che appare (e assicurati di rispettarlo!).

  • genere html5.enable nella barra dei filtri nella parte superiore della pagina.

  • Al momento sarebbe disabilitato, quindi fai clic per impostare il valore su true.

Ora il tuo parser HTML5 di Firefox dovrebbe essere abilitato e dovresti essere in grado di sperimentare i seguenti esempi.

HTML5 - SVG Circle

Di seguito è riportata la versione HTML5 di un esempio SVG che disegnerebbe un cerchio utilizzando il tag <circle> -

<!DOCTYPE html>

<html>
   <head>
   
      <style>
         #svgelem {
            position: relative;
            left: 50%;
            -webkit-transform: translateX(-20%);
            -ms-transform: translateX(-20%);
            transform: translateX(-20%);
         }
      </style>
      <title>SVG</title>
      <meta charset = "utf-8" />
   </head>
   
   <body>
      <h2 align = "center">HTML5 SVG Circle</h2>
		
      <svg id = "svgelem" height = "200" xmlns = "http://www.w3.org/2000/svg">
         <circle id = "redcircle" cx = "50" cy = "50" r = "50" fill = "red" />
      </svg>
   </body>
</html>

Ciò produrrebbe il seguente risultato nell'ultima versione di Firefox abilitata per HTML5.

HTML5 - Rettangolo SVG

Di seguito è riportata la versione HTML5 di un esempio SVG che disegnerebbe un rettangolo utilizzando il tag <rect> -

<!DOCTYPE html>

<html>
   <head>
   
      <style>
         #svgelem {
            position: relative;
            left: 50%;
            -webkit-transform: translateX(-50%);
            -ms-transform: translateX(-50%);
            transform: translateX(-50%);
         }
      </style>
      <title>SVG</title>
      <meta charset = "utf-8" />
   </head>
   
   <body>
      <h2 align = "center">HTML5 SVG Rectangle</h2>
      
      <svg id = "svgelem" height = "200" xmlns = "http://www.w3.org/2000/svg">
         <rect id = "redrect" width = "300" height = "100" fill = "red" />
      </svg>
   </body>
</html>

Ciò produrrebbe il seguente risultato nell'ultima versione di Firefox abilitata per HTML5.

HTML5 - Linea SVG

Di seguito è riportata la versione HTML5 di un esempio SVG che traccerebbe una linea utilizzando il tag <line> -

<!DOCTYPE html>

<html>
   <head>
      
      <style>
         #svgelem {
            position: relative;
            left: 50%;
            -webkit-transform: translateX(-50%);
            -ms-transform: translateX(-50%);
            transform: translateX(-50%);
         }
      </style>
      <title>SVG</title>
      <meta charset = "utf-8" />
   </head>
   
   <body>
      <h2 align = "center">HTML5 SVG Line</h2>
      
      <svg id = "svgelem" height = "200" xmlns = "http://www.w3.org/2000/svg">
         <line x1 = "0" y1 = "0" x2 = "200" y2 = "100" 
            style = "stroke:red;stroke-width:2"/>
      </svg>
   </body>
</html>

Puoi usare il file style attributo che consente di impostare ulteriori informazioni di stile come i colori del tratto e del riempimento, la larghezza del tratto, ecc.

Ciò produrrebbe il seguente risultato nell'ultima versione di Firefox abilitata per HTML5.

HTML5 - Ellisse SVG

Di seguito è riportata la versione HTML5 di un esempio SVG che disegnerebbe un'ellisse utilizzando il tag <ellipse> -

<!DOCTYPE html>

<html>
   <head>
      
      <style>
         #svgelem {
            position: relative;
            left: 50%;
            -webkit-transform: translateX(-40%);
            -ms-transform: translateX(-40%);
            transform: translateX(-40%);
         }
      </style>
      <title>SVG</title>
      <meta charset = "utf-8" />
   </head>
	
   <body>
      <h2 align = "center">HTML5 SVG Ellipse</h2>
      
      <svg id = "svgelem" height = "200" xmlns = "http://www.w3.org/2000/svg">
         <ellipse cx = "100" cy = "50" rx = "100" ry = "50" fill = "red" />
      </svg>
		
   </body>
</html>

Ciò produrrebbe il seguente risultato nell'ultima versione di Firefox abilitata per HTML5.

HTML5 - SVG Polygon

Di seguito è riportata la versione HTML5 di un esempio SVG che disegnerebbe un poligono utilizzando il tag <polygon> -

<!DOCTYPE html>

<html>
   <head>
   
      <style>
         #svgelem {
            position: relative;
            left: 50%;
            -webkit-transform: translateX(-50%);
            -ms-transform: translateX(-50%);
            transform: translateX(-50%);
         }
      </style>
      <title>SVG</title>
      <meta charset = "utf-8" />
   </head>
	
   <body>
      <h2 align = "center">HTML5 SVG Polygon</h2>
      
      <svg id = "svgelem" height = "200" xmlns = "http://www.w3.org/2000/svg">
         <polygon  points = "20,10 300,20, 170,50" fill = "red" />
      </svg>
   </body>
</html>

Ciò produrrebbe il seguente risultato nell'ultima versione di Firefox abilitata per HTML5.

HTML5 - SVG Polyline

Di seguito è riportata la versione HTML5 di un esempio SVG che disegnerebbe una polilinea utilizzando il tag <polyline> -

<!DOCTYPE html>

<html>
   <head>
      
      <style>
         #svgelem {
            position: relative;
            left: 50%;
            -webkit-transform: translateX(-20%);
            -ms-transform: translateX(-20%);
            transform: translateX(-20%);
         }
      </style>
      <title>SVG</title>
      <meta charset = "utf-8" />
   </head>
	
   <body>
      <h2 align = "center">HTML5 SVG Polyline</h2>
      <svg id = "svgelem" height = "200" xmlns = "http://www.w3.org/2000/svg">
         <polyline points = "0,0 0,20 20,20 20,40 40,40 40,60" fill = "red" />
      </svg>
   </body>
</html>

Ciò produrrebbe il seguente risultato nell'ultima versione di Firefox abilitata per HTML5.

HTML5 - Sfumature SVG

Segue la versione HTML5 di un esempio SVG che disegnerebbe un'ellisse usando il tag <ellipse> e userebbe il tag <radialGradient> per definire un gradiente radiale SVG.

Allo stesso modo, puoi usare il tag <linearGradient> per creare un gradiente lineare SVG.

<!DOCTYPE html>

<html>
   <head>
      
      <style>
         #svgelem {
            position: relative;
            left: 50%;
            -webkit-transform: translateX(-40%);
            -ms-transform: translateX(-40%);
            transform: translateX(-40%);
         }
      </style>
      <title>SVG</title>
      <meta charset = "utf-8" />
   </head>
	
   <body>
      <h2 align = "center">HTML5 SVG Gradient Ellipse</h2>
      
      <svg id = "svgelem" height = "200" xmlns = "http://www.w3.org/2000/svg">
         <defs>
            <radialGradient id="gradient" cx = "50%" cy = "50%" r = "50%" fx = "50%" 
               fy = "50%">
               <stop offset = "0%" style = "stop-color:rgb(200,200,200); stop-opacity:0"/>
               <stop offset = "100%" style = "stop-color:rgb(0,0,255); stop-opacity:1"/>
            </radialGradient>
         </defs>
         <ellipse cx = "100" cy = "50" rx = "100" ry = "50" 
            style = "fill:url(#gradient)" />
      </svg>
		
   </body>
</html>

Ciò produrrebbe il seguente risultato nell'ultima versione di Firefox abilitata per HTML5.

HTML5 - SVG Star

Di seguito è riportata la versione HTML5 di un esempio SVG che disegnerebbe una stella usando il tag <polygon>.

<html>
   <head>
   
      <style>
         #svgelem {
            position: relative;
            left: 50%;
            -webkit-transform: translateX(-40%);
            -ms-transform: translateX(-40%);
            transform: translateX(-40%);
         }
      </style>
      <title>SVG</title>
      <meta charset = "utf-8" />
   </head>
   
   <body>	
      <h2 align = "center">HTML5 SVG Star</h2>
      
      <svg id = "svgelem" height = "200" xmlns = "http://www.w3.org/2000/svg">
         <polygon points = "100,10 40,180 190,60 10,60 160,180" fill = "red"/>
      </svg>
    </body>
</html>

Ciò produrrebbe il seguente risultato nell'ultima versione di Firefox abilitata per HTML5.