<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Howtoweb.it</title>
	<atom:link href="http://www.howtoweb.it/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.howtoweb.it</link>
	<description>Tutorial e risorse per chi lavora sul web</description>
	<lastBuildDate>Mon, 14 Mar 2011 16:57:22 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.5</generator>
		<item>
		<title>Rotazioni crossbrowser con CSS3</title>
		<link>http://www.howtoweb.it/tutorial/rotazioni-crossbrowser-con-css3/</link>
		<comments>http://www.howtoweb.it/tutorial/rotazioni-crossbrowser-con-css3/#comments</comments>
		<pubDate>Mon, 14 Mar 2011 12:00:22 +0000</pubDate>
		<dc:creator>Mauro Accornero</dc:creator>
				<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[web design]]></category>

		<guid isPermaLink="false">http://www.howtoweb.it/?p=777</guid>
		<description><![CDATA[In questo articolo vediamo come ottenere rotazioni compatibili con la maggior parte dei browser, su questa pagina è presente una demo della soluzione proposta. Rotazione con CSS3 Grazie alla proprietà transform che si occupa delle trasformazioni bidimensionali è possibile definire &#8230; <a href="http://www.howtoweb.it/tutorial/rotazioni-crossbrowser-con-css3/">Continua a leggere<span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.howtoweb.it/wp-content/uploads/2011/03/rotate1.jpg"><img class="alignnone size-full wp-image-788" title="rotate" src="http://www.howtoweb.it/wp-content/uploads/2011/03/rotate1.jpg" alt="" width="580" height="200" /></a></p>
<p>In questo articolo vediamo come ottenere rotazioni compatibili con la maggior parte dei browser, su questa pagina è presente una <a href="http://www.howtoweb.it/wp-content/uploads/rotate_css/rotate_css.html" target="_blank">demo della soluzione proposta</a>.</p>
<h3>Rotazione con CSS3</h3>
<p>Grazie alla proprietà transform che si occupa delle trasformazioni  bidimensionali è possibile definire rotazioni customizzate per i vari  elementi della pagina.</p>
<pre>transform: rotate(7.5deg)</pre>
<p>La sintassi è molto semplice:</p>
<pre>proprietà: funzione(valore)</pre>
<p>come eneunciato nelle <a href="http://www.w3.org/TR/css3-2d-transforms/" target="_blank">specifiche di trasformazione bisimensionale dei CSS3</a> presenti sul sito del W3C.</p>
<h3>Ampliare il supporto ai vari browser</h3>
<p>Per ampliare il supporto di questa proprietà è possibile utilizzare la stessa sintassi ma dedicata ai singoli browser/motori di rendering.</p>
<pre>transform: rotate(7.5deg);
/*generica*/
-webkit-transform: rotate(7.5deg);
/* CHROME/SAFARI*/
-moz-transform: rotate(7.5deg);
/* FIREFOX/MOZILLA */
-o-transform: rotate(7.5deg);
/* OPERA */
-ms-transform: rotate(7.5deg);
/* IE 9 */</pre>
<h3>Ampliare il supporto a Internet Explorer precendenti al 9</h3>
<p>Come notiamo manca un supporto per Internet Explorer precedenti alla versione 9, per colmare questa lacuna è possibile utilizzare due filter predisposti da Microsoft a questo scopo: <a href="http://msdn.microsoft.com/en-us/library/ms532972%28v=vs.85%29.aspx" target="_blank">Basic Image</a> e <a href="http://msdn.microsoft.com/en-us/library/ms533014%28v=vs.85%29.aspx" target="_blank">Matrix</a>.</p>
<h3>Basic Image</h3>
<p>Con il <a href="http://msdn.microsoft.com/en-us/library/ms532972%28v=vs.85%29.aspx" target="_blank">filter Basic Image</a> è possibile definire 3 tipi di rotazione per un elemento: 90°,180° e 270° settando la proprietà rotation rispettivamente a 1, 2 o 3.</p>
<pre>filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0);/*ie5.5/7*/
-ms-filter: 'progid:DXImageTransform.Microsoft.BasicImage(rotation=0)';/*ie8*/
/* nessuna rotazione*/
filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);/*ie5.5/7*/
-ms-filter: 'progid:DXImageTransform.Microsoft.BasicImage(rotation=1)';/*ie8*/
/* rotazione di 90°*/
filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);/*ie5.5/7*/
-ms-filter: 'progid:DXImageTransform.Microsoft.BasicImage(rotation=2)';/*ie8*/
/* rotazione di 180°*/
filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);/*ie5.5/7*/
-ms-filter: 'progid:DXImageTransform.Microsoft.BasicImage(rotation=3)';/*ie8*/
/* rotazione di 270°*/</pre>
<h3>Matrix</h3>
<p>Il limite della poprietà Basic Image è rappresentato dal fatto di offrire solo 3 tipi di rotazione e nessun tipo di rotazione custom. Per ottenere un maggiore controllo è allora possibile utilizzare il <a href="http://msdn.microsoft.com/en-us/library/ms533014%28v=vs.85%29.aspx" target="_blank">filter Matrix</a>, che si occupa della trasformazione bidimensionale di un elemento (come la proprietà transform dei css3).</p>
<pre>filter: progid:DXImageTransform.Microsoft.Matrix(
       M11=0.9914448613738104,
       M12=-0.13052619222005157,
       M21=0.13052619222005157,
       M22=0.9914448613738104, sizingMethod='auto expand');
       zoom: 1;   /* IE 5.5-7*/
-ms-filter: 'progid:DXImageTransform.Microsoft.Matrix(
       M11=0.9914448613738104,
       M12=-0.13052619222005157,
       M21=0.13052619222005157,
       M22=0.9914448613738104, sizingMethod='auto expand');
       zoom: 1'; /* IE8 */
       /*rotazione di 7.5 gradi*/</pre>
<p>Il filter Matrix si occupa di ridefinire l&#8217;elemento in base ai 4 angoli dell&#8217;elemento, per calcolare questi 4 punti è necessaria un po&#8217; di matematica per disporre correttamente le coordinate, nello specifico i 4 valori inseriti (m11,m12,m21,m22) saranno uguali alle seguenti formule.</p>
<p>m11 = cos((gradi)*3,14159265*2/360)<br />
m12 = -sen((gradi)*3,14159265*2/360)<br />
m21 = sen((gradi)*3,14159265*2/360)<br />
m22 = cos((gradi)*3,14159265*2/360)</p>
<p>La proprietà sizingMethod definisce invece se l&#8217;elemento contenitore dovrà adattarsi o meno all&#8217;immagine generata grazie al valore &#8220;auto expand&#8221;.</p>
<p>Su questa pagina è possibile vedere una <a href="http://www.howtoweb.it/wp-content/uploads/rotate_css/rotate_css.html" target="_blank">demo della soluzione proposta</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.howtoweb.it/tutorial/rotazioni-crossbrowser-con-css3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Creare sfumature crossbrowser con i CSS</title>
		<link>http://www.howtoweb.it/tutorial/sfumature-crossbrowser-con-css/</link>
		<comments>http://www.howtoweb.it/tutorial/sfumature-crossbrowser-con-css/#comments</comments>
		<pubDate>Mon, 28 Feb 2011 07:00:23 +0000</pubDate>
		<dc:creator>Mauro Accornero</dc:creator>
				<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[web design]]></category>

		<guid isPermaLink="false">http://www.howtoweb.it/?p=727</guid>
		<description><![CDATA[La definizione di sfumature attraverso i css  offre una valida alternativa all&#8217;utilizzo di immagini, riducendo così tempi di caricamento. Nonostante questa tecnica non sia totalmente crossbrowser ricopre i browser maggiormente utilizzati in un numero considerevole di versioni portando così un &#8230; <a href="http://www.howtoweb.it/tutorial/sfumature-crossbrowser-con-css/">Continua a leggere<span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.howtoweb.it/wp-content/uploads/2011/02/sfumature_crossbrowser_css.jpg"><img class="alignnone size-full wp-image-775" title="sfumature_crossbrowser_css" src="http://www.howtoweb.it/wp-content/uploads/2011/02/sfumature_crossbrowser_css.jpg" alt="" width="580" height="200" /></a></p>
<p>La definizione di sfumature attraverso i css  offre una valida alternativa all&#8217;utilizzo di immagini, riducendo così tempi di caricamento. Nonostante questa tecnica non sia totalmente crossbrowser ricopre i browser maggiormente utilizzati in un numero considerevole di versioni portando così un ampio numero di utenti a risparmiare tempo e banda ad ogni richiesta per le pagine web.</p>
<p>La creazione di sfumature attraverso i css è un tipo di immagine generata, non una proprietà. Questo significa che possono essere utilizzate all&#8217;interno di altre proprietà come avviene per rgb() o rgba().</p>
<p>Nei CSS3 esistono due metodi per la definizione di sfumature, in particolare uno per le sfumature lineari (linear-gradient) e uno per le sfumature radiali (radial-gradient). Da questi sono ricavati i rispettivi per firefox, google chrome e safari con uguali sintassi ma differente premessa.</p>
<p><a href="http://www.howtoweb.it/wp-content/uploads/gradient_css/gradient_css.html" target="_blank">Qui un esempio delle soluzioni proposte</a>, di seguito la spiegazione nel dettaglio.</p>
<h3>Sfumature lineari</h3>
<p>La sintassi della sfumatura lineare richiede un minimo di tre parametri:</p>
<ul>
<li>posizione iniziale (valore numerico, percentuale o gradi)</li>
<li>colore iniziale (colore in valore esadecimale, rgb o rgba)</li>
<li>colore finale (colore in valore esadecimale, rgb o rgba)</li>
</ul>
<pre>-webkit-linear-gradient(top, #ccc, #000);
-moz-linear-gradient(top, #ccc, #000);
linear-gradient(top, #ccc, #000);</pre>
<p>E&#8217; possibile aggiungere più colori ad una singola sfumatura definendo la porzione occupata dal colore attraverso un valore in percentuale tra 0% e 100%. Per i colori per cui non viene specificata una percentuale la larghezza della sfumatura viene definita in automatico.</p>
<pre>-webkit-linear-gradient(top, #ccc 20%, #000);
 -moz-linear-gradient(top, #ccc 20%, #000);
 linear-gradient(top, #ccc 20%, #000);</pre>
<p>E&#8217; inoltre possibile definire sfumature con più colori aggiungendoli nell&#8217;ordine desiderato</p>
<pre>-webkit-linear-gradient(top, #ccc 20%, #000, #c00);
 -moz-linear-gradient(top, #ccc 20%, #000, #c00);
 linear-gradient(top, #ccc 20%, #000, #c00);</pre>
<h3>Ampliare il supporto per google chrome e webkit</h3>
<p>Oltre alla definizione di sfumature con i CSS3 è possibile utilizzare webkit-gradient per ampliare il supporto a safari 4 e superiori e google chrome inferiori alla 10.</p>
<p>La sintassi della sfumatura lineare per webkit richiede un minimo di cinque parametri:</p>
<ul>
<li>tipo di sfumature (linear o radial)</li>
<li>posizione iniziale (valore numerico, percentuale o gradi)</li>
<li>posizione finale (valore numerico, percentuale o gradi)</li>
<li>colore iniziale (colore in valore esadecimale)</li>
<li>colore finale (colore in valore esadecimale)</li>
</ul>
<pre>-webkit-gradient(linear, left top, right top, from(#ccc), to(#000));</pre>
<p>Si sconsiglia di definire i colori in rgb o rgba considerato che la dichiarazione serve per ampliare il supporto su browser meno recenti che potrebbero non supportare i colori in rgb essendo parte dei CSS3.</p>
<p>E&#8217; possibile aggiungere più colori ad una singola sfumatura definendo la porzione occupata dal colore attraverso un valore in percentuale tra 0% e 100%. Per i colori per cui non viene specificata una percentuale la larghezza della sfumatura viene definita in automatico.</p>
<pre>-webkit-gradient(linear, left top, right top, from(40%, #ccc), to(#000));</pre>
<p>E&#8217; inoltre possibile definire sfumature con più colori aggiungendoli attraverso la dichiarazone color-stop.</p>
<pre>-webkit-gradient(linear, left top, left bottom, from(#ccc), to(#000),
color-stop(40%, #c00))</pre>
<h3>Sfumature lineari su  Internet explorer</h3>
<p>Le soluzioni viste fino ad ora non trovano supporto su Internet Explorer in versioni precedenti alla 9, bisogna quindi ricorrere al gradient filter.</p>
<p>Questo filtro per Internet Explorer permette sfumature lineari verticali ed orizzontali di due colori.</p>
<p>Per questo filtro sono necessari tre parametri:</p>
<ul>
<li>gradienttype (definisce una sfumatura verticale (0) o orizzontale (1))</li>
<li>colore iniziale (in valore esadecimale)</li>
<li>colore finale (in valore esadecimale)</li>
</ul>
<pre>filter: progid:DXImageTransform.Microsoft.gradient(GradientType = 0,
startColorstr='#cccccc', endColorstr='#000000');</pre>
<p>Per ampliare il supporto a più versioni di Internet Explorer occorre ricordare la diversa definizione di filters:</p>
<pre>//per ie 5.5 e successivi
filter: progid:DXImageTransform.Microsoft.filtername(sProperties)
//per ie 8
-ms-filter: 'progid:DXImageTransform.Microsoft.filtername(sProperties)'</pre>
<p>In questo modo è possibile creare sfumature con i css compatibili con Firefox 3.6+, Safari 4+, google chrome e internet explorer 7+. Purtroppo opera non offre un supporto per le sfumature da css e ricade nella soluzione di callback con la definizione di un colore o di un&#8217;immagine di sfondo.</p>
<h3>Sfumature Radiali</h3>
<p>E&#8217; inoltre possibile definire sfumature radiali attraverso radial-gradient, le derivate per webkit e mozilla -webkit-radial-gradient e -moz-radial-gradient e la definizione webkit-gradient (con tipologia radial).</p>
<p>Per questa soluzione con i css3 può essere utile inserire un parametro di definizione sulla larghezza delle sfumature che definisce forma ed estensione.</p>
<p>I valori definibili sono:<br />
Circle (per sfumature circolari)<br />
Ellipse (per sfumature ad ellisse)</p>
<p>In aggiunta si possono definire ulteriori parametri per il comportamento della sfumatura:</p>
<p>closest-side (sfumatura al lato più vicino)<br />
farthest-side  (sfumatura al lato più distante)<br />
closest-corner (sfumatura all&#8217;angolo più vicino)<br />
farthest-corner (sfumatura all&#8217;angolo più lontano)</p>
<p><a href="http://www.howtoweb.it/wp-content/uploads/gradient_css/gradient_css.html" target="_blank">Qui un esempio delle soluzioni descritte</a>.</p>
<p><strong>Per maggiori informazioni sull&#8217;utilizzo delle sfumature ecco alcuni link:</strong></p>
<p><a href="https://developer.mozilla.org/en/Using_gradients" target="_blank">sfumature con CSS3 in firefox</a> (https://developer.mozilla.org/en/Using_gradients)<br />
<a href="http://www.webkit.org/blog/1424/css3-gradients">sfumature con CSS3 in webkit</a> (http://www.webkit.org/blog/1424/css3-gradients)<br />
<a href="http://www.webkit.org/blog/175/introducing-css-gradients" target="_blank">sfumature con webkit-gradient</a> (http://www.webkit.org/blog/175/introducing-css-gradients)<br />
<a href="http://msdn.microsoft.com/en-us/library/ms532997%28v=vs.85%29.aspx" target="_blank">sfumature con filter per internet explorer</a> (http://msdn.microsoft.com/en-us/library/ms532997%28v=vs.85%29.aspx)<br />
<a href="https://developer.mozilla.org/en/CSS/-moz-radial-gradient#Size_constants" target="_blank">definizioni della posizione della sfumatura</a> (https://developer.mozilla.org/en/CSS/-moz-radial-gradient#Size_constants)<br />
<a href="http://msdn.microsoft.com/en-us/library/ms532847%28v=vs.85%29.aspx" target="_blank">utilizzo di filters in Internet explorer</a> (http://msdn.microsoft.com/en-us/library/ms532847%28v=vs.85%29.aspx)</p>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 3103px; width: 1px; height: 1px; overflow: hidden;">
<p>La definizione di sfumature attraverso i css permette di offrire una  valida alternativa all’utilizzo di immagini, permettendo così tempi di  caricamento più brevi. Benchè questa tecnica non possa essere totalmente  crossbrowser ricopre i browser maggiormente utilizzati in un numero  considerevole di versioni portando così un ampio numero di utenti a  risparmiare tempo e banda ad ogni richiesta per le pagine web.</p>
<p>La creazione di sfumature attraverso i css è un tipo di immagine  generata, non una proprietà, possono quindi essere utilizzate  all’interno di altre proprietà come avviene per rgb() o rgba().</p>
<p>Nei CSS3 esistono due metodi per la definizione di sfumature, in  particolare una per le sfumature lineari (linear-gradient) e una per le  sfumature radiali (radial-gradient). Da queste due versioni sono  ricavati i rispettivi per firefox, google chrome e safari con uguali  sintassi ma differente premessa.</p>
<h3>Sfumature lineari</h3>
<p>La sintassi della sfumatura lineare richiede un minimo di tre parametri:</p>
<ul>
<li>posizione iniziale (valore numerico, percentuale o gradi)</li>
<li>colore iniziale (colore in valore esadecimale, rgb o rgba)</li>
<li>colore finale (colore in valore esadecimale, rgb o rgba)</li>
</ul>
<pre>-webkit-linear-gradient(top, #ccc, #000);
-moz-linear-gradient(top, #ccc, #000);
linear-gradient(top, #ccc, #000);</pre>
<p>E’ possibile aggiungere più colori ad una singola sfumatura definendo  la porzione occupata dal colore attraverso un valore in percentuale tra  0% e 100%. Per i colori per cui non viene specificata una percentuale  la larghezza della sfumatura viene definita in automatico.</p>
<pre>-webkit-linear-gradient(top, #ccc 20%, #000);
 -moz-linear-gradient(top, #ccc 20%, #000);
 linear-gradient(top, #ccc 20%, #000);</pre>
<p>E’ inoltre possibile definire sfumature con più colori aggiungendoli nell’ordine desiderato</p>
<pre>-webkit-linear-gradient(top, #ccc 20%, #000, #c00);
 -moz-linear-gradient(top, #ccc 20%, #000, #c00);
 linear-gradient(top, #ccc 20%, #000, #c00);</pre>
<h3>Ampliare il supporto per google chrome e webkit</h3>
<p>Oltre alla definizione di sfumature con i CSS3 è possibile utilizzare  webkit-gradient per ampliare il supporto a safari 4 e superiori e  google chrome inferiori alla 10.</p>
<p>La sintassi della sfumatura lineare per webkit richiede un minimo di cinque parametri:</p>
<ul>
<li>tipo di sfumature (linear o radial)</li>
<li>posizione iniziale (valore numerico, percentuale o gradi)</li>
<li>posizione finale (valore numerico, percentuale o gradi)</li>
<li>colore iniziale (colore in valore esadecimale)</li>
<li>colore finale (colore in valore esadecimale)</li>
</ul>
<pre>-webkit-gradient(linear, left top, right top, from(#ccc), to(#000));</pre>
<p>Si sconsiglia di definire i colori in rgb o rgba considerato che la  dichiarazione serve per ampliare il supporto su browser meno recenti che  potrebbero non supportare i colori in rgb essendo parte dei CSS3.</p>
<p>E’ possibile aggiungere più colori ad una singola sfumatura definendo  la porzione occupata dal colore attraverso un valore in percentuale tra  0% e 100%. Per i colori per cui non viene specificata una percentuale  la larghezza della sfumatura viene definita in automatico.</p>
<pre>-webkit-gradient(linear, left top, right top, from(40%, #ccc), to(#000));</pre>
<p>E’ inoltre possibile definire sfumature con più colori aggiungendoli attraverso la dichiarazone color-stop.</p>
<pre>-webkit-gradient(linear, left top, left bottom, from(#ccc), to(#000),
color-stop(40%, #c00))</pre>
<h3>Sfumature lineari su  Internet explorer</h3>
<p>Le soluzioni viste fino ad ora non trovano supporto su Internet  Explorer in versioni precendenti alla 9, bisogna quindi ricorrere al  gradient filter.</p>
<p>Questo filtro per Internet Explorer permette sfumature lineari verticali ed orizzontali di due colori.</p>
<p>Per questo filtro sono necessari tre parametri:</p>
<ul>
<li>gradienttype (definisce una sfumatura verticale (0) o orizzontale (1))</li>
<li>colore iniziale (in valore esadecimale)</li>
<li>colore finale (in valore esadecimale)</li>
</ul>
<pre>filter: progid:DXImageTransform.Microsoft.gradient(GradientType = 0,
startColorstr='#cccccc', endColorstr='#000000');</pre>
<p>Per ampliare il supporto a più versioni di Internet Explorer occorre ricordare la diversa definizione di filters:</p>
<pre>//per ie 5.5 e successivi
filter: progid:DXImageTransform.Microsoft.filtername(sProperties)
//per ie 8
-ms-filter: 'progid:DXImageTransform.Microsoft.filtername(sProperties)'</pre>
<p>In questo modo è possibile creare sfumature con i css compatibili con  Firefox 3.6+, Safari 4+, google chrome e internet explorer 7+.  Purtroppo opera non offre un supporto per le sfumature da css e ricade  nella soluzione di callback con la definizione di un colore o di  un’immagine di sfondo.</p>
<h3>Sfumature Radiali</h3>
<p>E’ inoltre possibile definire sfumature radiali attraverso la  proprietà radial-gradient, le derivate per webkit e mozilla  -webkit-radial-gradient e -moz-radial-gradient e la definizione  webkit-gradient (con tipologia radial).</p>
<p>Per questa soluzione con i css3 può essere utile inserire un  parametro di definizione sulla larghezza delle sfumature che definisce  forma ed estensione.</p>
<p>I valori definibili sono:<br />
Circle (per sfumature cricolari)<br />
Ellipse (per sfumature ad ellisse)</p>
<p>In aggiunta si possono definire ulteriori parametri per il comportamento della sfumatura:</p>
<p>closest-side (sfumatura al lato più vicino)<br />
farthest-side  (sfumatura al lato più distante)<br />
closest-corner (sfumatura all’angolo più vicino)<br />
farthest-corner (sfumatura all’angolo più lontano)</p>
<p><strong>Per maggiori informazioni sull’utilizzo delle sfumature ecco alcuni link:</strong></p>
<p><a href="https://developer.mozilla.org/en/Using_gradients" target="_blank">sfumature con CSS3 in firefox</a> (https://developer.mozilla.org/en/Using_gradients)<br />
<a href="http://www.webkit.org/blog/1424/css3-gradients">sfumature con CSS3 in webkit</a> (http://www.webkit.org/blog/1424/css3-gradients)<br />
<a href="http://www.webkit.org/blog/175/introducing-css-gradients" target="_blank">sfumature con webkit-gradient</a> (http://www.webkit.org/blog/175/introducing-css-gradients)<br />
<a href="http://msdn.microsoft.com/en-us/library/ms532997%28v=vs.85%29.aspx" target="_blank">sfumature con filter per internet explorer</a> (http://msdn.microsoft.com/en-us/library/ms532997%28v=vs.85%29.aspx)<br />
<a href="https://developer.mozilla.org/en/CSS/-moz-radial-gradient#Size_constants" target="_blank">definizioni della posizione della sfumatura</a> (https://developer.mozilla.org/en/CSS/-moz-radial-gradient#Size_constants)<br />
<a href="http://msdn.microsoft.com/en-us/library/ms532847%28v=vs.85%29.aspx" target="_blank">utilizzo di filters in Internet explorer</a> (http://msdn.microsoft.com/en-us/library/ms532847%28v=vs.85%29.aspx)</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.howtoweb.it/tutorial/sfumature-crossbrowser-con-css/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Digital Experience Festival 2011 dal 7 al 12 marzo a Milano</title>
		<link>http://www.howtoweb.it/news/digital-experience-festival-2011-dal-7-al-12-marzo-a-milano/</link>
		<comments>http://www.howtoweb.it/news/digital-experience-festival-2011-dal-7-al-12-marzo-a-milano/#comments</comments>
		<pubDate>Wed, 23 Feb 2011 05:00:11 +0000</pubDate>
		<dc:creator>Mauro Accornero</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[eventi]]></category>
		<category><![CDATA[professione web designer]]></category>

		<guid isPermaLink="false">http://www.howtoweb.it/?p=719</guid>
		<description><![CDATA[Come reduce del Wiff Italia 2010 non posso astenermi dal segnalare questo nuovo evento che si terrà a Milano dal 7 al 12 marzo. Cinque giornate di incontri ed eventi con notte bianca e contest non-stop di 24 ore. Non &#8230; <a href="http://www.howtoweb.it/news/digital-experience-festival-2011-dal-7-al-12-marzo-a-milano/">Continua a leggere<span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft" title="digital experience festival 2011" src="http://www.digitalfestival.net/templates/jp_contrast/images/logo.gif" alt="digital experience festival 2011" width="260" height="250" /><br />
Come reduce del Wiff Italia 2010 non posso astenermi dal segnalare questo nuovo evento che si terrà a Milano dal 7 al 12 marzo.</p>
<p>Cinque giornate di incontri ed eventi con notte bianca e contest non-stop di 24 ore.</p>
<p>Non mancheranno le possibilità di confronto con professionisti ed aziende del settore a cui viene dato spazio nella giornata di mercoledì 9 marzo presso il collegio di Milano.</p>
<p>Sul <a href="http://www.digitalfestival.net" target="_blank">sito dell&#8217;evento</a> (http://www.digitalfestival.net) è disponibile il programma delle varie giornate con possibilità d&#8217;iscrizione per i singoli incontri.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.howtoweb.it/news/digital-experience-festival-2011-dal-7-al-12-marzo-a-milano/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Creare siti multilingua con WordPress e Qtranslate</title>
		<link>http://www.howtoweb.it/tutorial/creare-siti-multilingua-con-wordpress-e-qtranslate/</link>
		<comments>http://www.howtoweb.it/tutorial/creare-siti-multilingua-con-wordpress-e-qtranslate/#comments</comments>
		<pubDate>Tue, 22 Feb 2011 05:00:41 +0000</pubDate>
		<dc:creator>Mauro Accornero</dc:creator>
				<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.howtoweb.it/?p=705</guid>
		<description><![CDATA[Se siete dei fedeli utilizzatori di wordpress e state cercando un modo veloce per aggiungere la gestione di contenuti in più lingue, vi suggerisco di provare qtranslate (http://www.qianqin.de/qtranslate/), plugin per wordpress che permette la gestione di più lingue per contenuti &#8230; <a href="http://www.howtoweb.it/tutorial/creare-siti-multilingua-con-wordpress-e-qtranslate/">Continua a leggere<span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.howtoweb.it/wp-content/uploads/2011/02/wordpress_qtranslate_multilingua.jpg"><img class="alignnone size-full wp-image-710" title="wordpress_qtranslate_multilingua" src="http://www.howtoweb.it/wp-content/uploads/2011/02/wordpress_qtranslate_multilingua.jpg" alt="" width="580" height="200" /></a></p>
<p>Se siete dei fedeli utilizzatori di wordpress e state cercando un modo veloce per aggiungere la gestione di contenuti in più lingue, vi suggerisco di provare <a href="http://www.qianqin.de/qtranslate/" target="_blank">qtranslate </a>(http://www.qianqin.de/qtranslate/), plugin per wordpress che permette la gestione di più lingue per contenuti differente.</p>
<p>Per installarlo, scaricate il plugin nella versione compatibile alla vostra installazione di wordpress (potete rintracciarlo nel <a href="http://wordpress.org/extend/plugins/qtranslate/" target="_blank">repository di wordpress plugin</a> (http://wordpress.org/extend/plugins/qtranslate/)), copiate la cartella del plugin in wp-content/plugin e attivate il plugin dal pannello di amministrazione.</p>
<p>A questo punto verrà aggiunta la voce &#8220;lingue&#8221; (o &#8220;languages&#8221;) nel menu di amministrazione.<br />
Da questa sezione è possibile gestire quante e quali lingue si desidera utilizzare per il proprio sito, definendone l&#8217;ordine e la lingua di default oltre ad opzioni sulla gestione dell&#8217;url per i contenuti multilingua e il tracciamento della lingua dell&#8217;utente dal browser.</p>
<p>Una volta impostate le varie opzioni è possibile gestire categorie, pagine ed articoli come contenuti multilingua direttamente dal pannello di amministrazione.</p>
<p>La gestione delle lingue di qtranslate è basata sui tag multilingua, che consentono di definire contenuti diversi in base alla lingua all&#8217;interno del sito. Questo procedimento è automatizzato per titoli e testi ma va definito a mano nel caso di testi per allegati e in alcuni casi per i custom menu.</p>
<pre>&lt;!--:en--&gt;English text&lt;!--:--&gt;
&lt;!--:it--&gt;Testo in italiano&lt;!--:--&gt;
</pre>
<p>In base alla lingua selezionata verrà restituito come output solo il contenuto pertinente alla specifica lingua.</p>
<p>Nel caso incontriate la necessità di gestire il codice in maniera customizzata all&#8217;interno di funzioni o del tema è possibile utilizzare le API di Qtranslate per l&#8217;esecuzione dei tag.</p>
<pre>__(&lt;!--:en--&gt;English text&lt;!--:--&gt;
&lt;!--:it--&gt;Testo in italiano&lt;!--:--&gt; );</pre>
<p>Per valutare la lingua selezionata è possibile utilizzare qtrans_getLanguage() ed ottenere l&#8217;abbreviazione univoca della lingua scelta dall&#8217;utente.</p>
<pre>if(qtrans_getLanguage() == "it"){
echo "testo italiano";
}else{
echo "english text";
}</pre>
<p>Per ottenere la navigazione tra le lingue viene offerta la funzione qtrans_generateLanguageSelectCode().<br />
Questa permette l&#8217;output di una lista o un dropdown con le varie lingue selezionabili dall&#8217;utente.<br />
Tra le opzioni è possibile scegliere il tipo di output: lista con testo, lista con bandiere, lista con testo e bandiere oppure un select.</p>
<pre>qtrans_generateLanguageSelectCode("image");
//lista lingue con immagini delle bandiere</pre>
<p>Qtranslate fornisce di default le bandiere, i nomi e le abbreviazioni per le varie lingue, che sono ovviamente customizzabili a piacimento. Una soluzione rapida per la modifica delle immagini delle bandiere è l&#8217;utilizzo di css sprite basato sulle classi della lista di default.</p>
<pre>#qtranslate-chooser li a.qtrans_flag{
background:#FFF url(images/flags.png) 0 0 no-repeat;
width:20px;
height:20px;
display:block;
}
#qtranslate-chooser li a.qtrans_flag_it{background-position:0 0;}
#qtranslate-chooser li a.qtrans_flag_en{background-position:0 -20px;}
#qtranslate-chooser li a.qtrans_flag_de{background-position:0 -40px;}
#qtranslate-chooser li a.qtrans_flag_fr{background-position:0 -60px;}</pre>
<p>Un limite riscontrato nella gestione dei contenuti multilingue su wordpress attraverso qtranslate è il fatto di non poter definire allegati differenti per lo stesso contenuto in base alla lingua. Per aggirare questo ostacolo è possibile definire come testo alternativo o come excerpt dell&#8217;allegato l&#8217;abbreviazione della lingua e valutare questo parametro nel momento dell&#8217;output.</p>
<p>Di seguito un esempio per ricavare le immagini allegate ad una pagina solo per una specifica lingua.</p>
<pre>&lt;?php
$my_id = get_the_ID();
 $args = array(
'post_type' =&gt; 'attachment',
'post_parent' =&gt; $my_id,
'orderby' =&gt; 'menu_order',
'order' =&gt; 'asc'
);
 $attachments = get_posts($args);
 if ($attachments) {
   foreach ($attachments as $attachment) {
     if($attachment-&gt;post_excerpt == qtrans_getLanguage()){
       echo "&lt;img src='".$attachment-&gt;guid."'/&gt;";
     }
   }
}
?&gt;</pre>
<p>Come ultima nota suggerisco una visita al <a href="http://www.qianqin.de/qtranslate/" target="_blank">sito dell&#8217;autore del plugin</a> (http://www.qianqin.de/qtranslate/) e al <a href="http://www.qianqin.de/qtranslate/forum/" target="_blank">forum </a>(http://www.qianqin.de/qtranslate/forum/), nel caso vogliate espandere le potenzialità di qtranslate potete testare<a href="http://wordpress.org/extend/plugins/search.php?q=qtranslate" target="_blank"> altri plugin</a> che permettono gestioni più avanzate per specifici ambiti (meta tag, buddy press, sitemap) sul repository di wordpress plugin (http://wordpress.org/extend/plugins/search.php?q=qtranslate).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.howtoweb.it/tutorial/creare-siti-multilingua-con-wordpress-e-qtranslate/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Inserire un video in una pagina web con HTML5 e VideoJs</title>
		<link>http://www.howtoweb.it/articoli/inserire-un-video-in-una-pagina-web-con-html5-e-videojs/</link>
		<comments>http://www.howtoweb.it/articoli/inserire-un-video-in-una-pagina-web-con-html5-e-videojs/#comments</comments>
		<pubDate>Mon, 14 Feb 2011 05:00:02 +0000</pubDate>
		<dc:creator>Mauro Accornero</dc:creator>
				<category><![CDATA[Articoli]]></category>

		<guid isPermaLink="false">http://www.howtoweb.it/?p=694</guid>
		<description><![CDATA[Tempo fa avevo parlato su queste pagine dell&#8217;elemento video per l&#8217;html5. Tra i maggiori vantaggi di questa soluzione c&#8217;è l&#8217;esclusione di flash per device mobili (nello specifico ipad ed iphone). Dall&#8217;ultimo articolo è passato un po&#8217; e trovandomi a dover &#8230; <a href="http://www.howtoweb.it/articoli/inserire-un-video-in-una-pagina-web-con-html5-e-videojs/">Continua a leggere<span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.howtoweb.it/wp-content/uploads/2011/02/videojs1.jpg"><img class="alignnone size-full wp-image-701" title="videojs" src="http://www.howtoweb.it/wp-content/uploads/2011/02/videojs1.jpg" alt="" width="580" height="200" /></a></p>
<p>Tempo fa avevo parlato su queste pagine dell&#8217;elemento video per l&#8217;html5.</p>
<p>Tra i maggiori vantaggi di questa soluzione c&#8217;è l&#8217;esclusione di flash per device mobili (nello specifico ipad ed iphone).<br />
Dall&#8217;ultimo articolo è passato un po&#8217; e trovandomi a dover integrare un video per un progetto ho rivisto le mie precedenti nozioni sul tema.</p>
<p>Come prima cosa ho cercato una soluzione di veloce integrazione ma che garantisse un buon supporto e mi sono imbattuto in <a href="http://videojs.com/" target="_blank">videojs</a> (http://videojs.com/).</p>
<p>Un ottimo script che offre:</p>
<ul>
<li>un file javascript (valuta se il browser supporta l&#8217;elemento video nel caso offre flowplayer)</li>
<li>un css (per gestire lo stile del player)</li>
<li>inclusione esterna a flowplayer (per browser che non supportano l&#8217;elemento video)</li>
</ul>
<p>L&#8217;applicazione è estremamente semplice, nel caso non siate pratici del codice potete utilizzare il comodo <a href="http://videojs.com/embed-builder/" target="_blank">tool</a> (http://videojs.com/embed-builder/) che assembla il codice necessario al volo.</p>
<p>E&#8217; sufficiente inserire le risorse necessarie, ovvero:</p>
<ul>
<li>url dell&#8217;immagine di default (viene mostrata mentre il video viene caricato)</li>
<li>url delvideo in mp4</li>
<li>url del video in ogg</li>
<li>url del video in webm</li>
</ul>
<p>tra le opzioni vediamo:</p>
<ul>
<li>quale video caricare nel player flash (di default l&#8217;mp4)</li>
<li>altezza e larghezza del video</li>
<li>se inserire i link per il donwload del video (per device che non supportano i video)</li>
<li>support videojs (inserisce o meno un link al sito di videojs)</li>
<li>preload (permette di far partire il buffer non appena la pagina è caricata)</li>
<li>autoplay (fa partire il video in automatico)compact version (codice senza spazi per peso inferiore)</li>
</ul>
<p>Con questa soluzione si velocizza notevolmente l&#8217;inserimento dei video in html su siti e applicazioni web, l&#8217;unica miglioria che mi sento di consigliare è quella di evitare l&#8217;inclusione esterna del flowplayer ma caricare la risorsa sul proprio spazio e richiamarla come tale.<br />
In questo modo otteniamo un caricamento più veloce (e più gestibile) del player in flash oltre che assicurarci una versione più aggiornata rispetto a quella impostata nello script.</p>
<p>L&#8217;ultima considerazione su questa tecnica è la conversione del video nei tre formati necessari, sicuramente complessa per chi è poco pratico di questo ambito. Il mio suggerimento è quello di provare ad utilizzare vlc per la conversione, che permette un&#8217;ampia e dettagliata scelta dei codec e dei formati nella sua ultima versione includendo sia mp4 che ogg.</p>
<p>Come alternativa è possibile utilizzare <a href="http://handbrake.fr/" target="_blank">handbrake </a>(http://handbrake.fr/) per l&#8217;mp4 e <a href="http://v2v.cc/~j/ffmpeg2theora/" target="_blank">ffmpeg2theora </a>(http://v2v.cc/~j/ffmpeg2theora/) per l&#8217;ogg, nel caso non siate pratici di dos esiste una <a href="http://www.softpedia.com/downloadTag/theora+converter" target="_blank">versione con interfaccia</a> (http://www.softpedia.com/downloadTag/theora+converter) basata sullo stesso convertitore.<br />
Se non incontrate successo con queste opzioni suggerisco una visita a <a href="http://www.reelseo.com/html5-ogg-h264-encoding-tools/" target="_blank">questo post</a> (http://www.reelseo.com/html5-ogg-h264-encoding-tools/), dove vengono consigliati numerose alternative.</p>
<p>Tra i consigli ho omesso un convertitore per il formato <a href="http://www.webmproject.org/" target="_blank">webm </a>(http://www.webmproject.org/), personalmente non ho avuto fortuna e non son riuscito ad ottenere un file video funzionante per questo formato, probabilmente anche per il poco tempo a disposizione.</p>
<p>Per ora ho quindi preferito omettere questa alternativa nei miei progetti non essendo questo formato l&#8217;unico supportato dai diversi browser. Per il futuro spero di potermi applicare di più, in attesa vi lascio la lista di convertitori suggerita nel sito del <a href="http://www.webmproject.org/tools/" target="_blank">webm </a>(http://www.webmproject.org/tools/) per fare qualche test.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.howtoweb.it/articoli/inserire-un-video-in-una-pagina-web-con-html5-e-videojs/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Utilizzare JQuery UI Autocomplete con PHP e Mysql</title>
		<link>http://www.howtoweb.it/articoli/utilizzare-jquery-ui-autocomplete-con-php-e-mysql/</link>
		<comments>http://www.howtoweb.it/articoli/utilizzare-jquery-ui-autocomplete-con-php-e-mysql/#comments</comments>
		<pubDate>Fri, 25 Jun 2010 08:56:36 +0000</pubDate>
		<dc:creator>Mauro Accornero</dc:creator>
				<category><![CDATA[Articoli]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>

		<guid isPermaLink="false">http://www.howtoweb.it/?p=680</guid>
		<description><![CDATA[In questo articolo vedremo come integrare facilmente il widget autocomplete di Jquery UI all&#8217;interno di pagine dinamiche. L&#8217;utilizzo è molto semplice, come prima cosa è necessario scaricare il pacchetto completo di Jquery UI compreso di tema personalizzato o standard e &#8230; <a href="http://www.howtoweb.it/articoli/utilizzare-jquery-ui-autocomplete-con-php-e-mysql/">Continua a leggere<span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-687" title="autocomplete" src="http://www.howtoweb.it/wp-content/uploads/2010/06/autocomplete.jpg" alt="" /></p>
<p>In questo articolo vedremo come integrare facilmente il widget autocomplete di Jquery UI all&#8217;interno di pagine dinamiche.</p>
<p>L&#8217;utilizzo è molto semplice, come prima cosa è necessario scaricare il pacchetto completo di Jquery UI compreso di tema personalizzato o standard e collegare i rispettivi files alla pagina dinamica.</p>
<pre>&lt;link rel="stylesheet" href="css/theme/ui.theme.css" type="text/css"/&gt;
&lt;script src="js/jquery.min.js" type="text/javascript"&gt;&lt;/script&gt;
&lt;script src="js/jquery-ui.min.js" type="text/javascript"&gt;&lt;/script&gt;</pre>
<p>Ora possiamo aggiungere l&#8217;elemento input che utilizzero per l&#8217;autocomplete, per comodità di selezione verrà aggiunto un id.</p>
<pre>&lt;input value="Insert your tag here" /&gt;</pre>
<p>Per ciò che riguarda javascript iniziamo applicando un autocomplete base al campo input</p>
<pre>$(function() {var myTags = ["tag1", "tag2", "anotherTag", "simpleTag"];
$("#tags").autocomplete({source: myTags});});</pre>
<p>In questo caso settiamo come opzione &#8220;source&#8221; che specifica come sorgente l&#8217;array &#8220;myTags&#8221;.Per rendere dinamico l&#8217;autocomplete modifichiamo la sorgente con un file dinamico che si occuperà di effettuare la ricerca</p>
<pre> $("#tags").autocomplete({source: "tagSearch.php"});</pre>
<p>Di seguito un esempio per tagSearch.php:</p>
<pre>//creazione di un array vuoto
$return_arr = array();

//dati di accesso a mysql e al db
$dbhost = 'YOUR_SERVER';
$dbuser = 'YOUR_USERNAME';
$dbpass = 'YOUR_PASSWORD';
$dbname = 'YOUR_DATABASE_NAME';

//definisco la variabile di ricerca dell'utente
$term = $_GET("term");

//connessione al a mysql
$conn = mysql_connect($dbhost, $dbuser, $dbpass)
or die ('Impossibile connettersi a Mysql');
//selezione ddb
mysql_select_db($dbname);
//se connesso
if ($conn)
{
//query select
$fetch = mysql_query("SELECT * FROM tags WHERE MATCH(tagName) AGAINST('".$term."*')");
//loop dei dati
while ($row = mysql_fetch_array($fetch, MYSQL_ASSOC)) {
$row_array['value'] = $row['tagName '];
array_push($return_arr,$row_array);
}

}
//chiudo la connessione a mysql
mysql_close($conn);
//restituisco l'array in formato json
echo json_encode($return_arr);</pre>
<p>La variabile $terms viene ricavata dall&#8217;url, l&#8217;autocomplete di Jquery UI richiama infatti il file search.php con la variabile term (es. search.php?term=ciao) ad ogni change nel campo input.Considerato che la variabile term viene aggiornata e inviata ad ogni change del campo ho utilizzato MATCH AGAINST nella query affinchè ad ogni richiesta mysql cerchi l&#8217;input dell&#8217;utente seguito da altro.Il risultato è che a fronte di una ricerca &#8220;a&#8221; verranno restituiti tutti i dati che iniziano per &#8220;a&#8221;, aggiungendo lettere verranno restituiti solo i dati che corrispondono ai criteri della ricerca.</p>
<p>L&#8217;autocomplete di JQuery UI prevede una vasta serie di opzioni con le quali è possibile manipolare i dati prensenti nell&#8217;input e nei risultati, creare una cache dai dati e customizzare aspetto e animazioni dell&#8217;input.Per maggiori informazioni consiglio una lettura della documentazione disponibile sulla <a title="jquery ui autocomplete demo" href="http://jqueryui.com/demos/autocomplete/" target="_blank">pagina dedicata</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.howtoweb.it/articoli/utilizzare-jquery-ui-autocomplete-con-php-e-mysql/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Realizzare select multilingue con Jquery</title>
		<link>http://www.howtoweb.it/tutorial/realizzare-select-multilingue-con-jquery/</link>
		<comments>http://www.howtoweb.it/tutorial/realizzare-select-multilingue-con-jquery/#comments</comments>
		<pubDate>Mon, 14 Jun 2010 05:00:25 +0000</pubDate>
		<dc:creator>Mauro Accornero</dc:creator>
				<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[jquery]]></category>

		<guid isPermaLink="false">http://www.howtoweb.it/?p=666</guid>
		<description><![CDATA[In questo articolo vedremo come realizzare un selettore multilingue con html, css e jquery, per vedere l&#8217; esempio completo visitate la demo. Per questo tutorial ho utilizzato world-flags-sprite, una soluzione css che offre una vasta gamma di bandiere di numerosi &#8230; <a href="http://www.howtoweb.it/tutorial/realizzare-select-multilingue-con-jquery/">Continua a leggere<span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-665" title="selectlanguageImage" src="http://www.howtoweb.it/wp-content/uploads/2010/06/selectlanguageImage1.jpg" alt="" width="580" height="200" /></p>
<p>In questo articolo vedremo come realizzare un selettore multilingue con html, css e jquery, per vedere l&#8217; esempio completo visitate la <a href="http://www.howtoweb.it/wp-content/uploads/selectlanguage/" target="_self">demo</a>.</p>
<p>Per questo tutorial ho utilizzato <a title="world flags sprite" href="http://github.com/lafeber/world-flags-sprite" target="_blank">world-flags-sprite</a>, una soluzione css che offre una vasta gamma di bandiere di numerosi stati attraverso la tecnica degli sprites css, consiglio vivamente questa soluzione che permette di aggiungere facilmente le immagini per nuove lingue.<br />
Iniziamo creando un nuovo file html in cui inseriremo il nostro markup. L&#8217;esempio qui proposto è pensato in chiave statica ma può essere facilmente applicato anche a pagine dinamiche gestendo l&#8217;output del testo e delle classi.</p>
<h3>HTML</h3>
<pre>
<div id="_mcePaste">&lt;ul&gt;</div>
<div id="_mcePaste">&lt;li&gt;</div>
<div id="_mcePaste">&lt;a href="http://www.mywebsite.it/index.html?lang=it" title="Italy"&gt;</div>
<div id="_mcePaste">&lt;span&gt;&lt;/span&gt;Italy</div>
<div id="_mcePaste">&lt;/a&gt;</div>
<div id="_mcePaste">&lt;/li&gt;</div>
<div id="_mcePaste">&lt;li&gt;</div>
<div id="_mcePaste">&lt;a href="http://www.mywebsite.it/index.html?lang=us" title="Usa"&gt;</div>
<div id="_mcePaste">&lt;span&gt;&lt;/span&gt;Usa</div>
<div id="_mcePaste">&lt;/a&gt;</div>
<div id="_mcePaste">&lt;/li&gt;</div>
<div id="_mcePaste">&lt;li&gt;</div>
<div id="_mcePaste">&lt;a href="http://www.mywebsite.it/index.html?lang=uk" title="England"&gt;</div>
<div id="_mcePaste">&lt;span&gt;&lt;/span&gt;England</div>
<div id="_mcePaste">&lt;/a&gt;</div>
<div id="_mcePaste">&lt;/li&gt;</div>
<div id="_mcePaste">&lt;li&gt;</div>
<div id="_mcePaste">&lt;a href="http://www.mywebsite.it/index.html?lang=fr" title="France"&gt;</div>
<div id="_mcePaste">&lt;span&gt;&lt;/span&gt;France</div>
<div id="_mcePaste">&lt;/a&gt;</div>
<div id="_mcePaste">&lt;/li&gt;</div>
<div id="_mcePaste">&lt;li&gt;</div>
<div id="_mcePaste">&lt;a href="http://www.mywebsite.it/index.html?lang=es" title="Spain"&gt;</div>
<div id="_mcePaste">&lt;span&gt;&lt;/span&gt;Spain</div>
<div id="_mcePaste">&lt;/a&gt;</div>
<div id="_mcePaste">&lt;/li&gt;</div>
<div id="_mcePaste">&lt;li&gt;</div>
<div id="_mcePaste">&lt;a href="http://www.mywebsite.it/index.html?lang=de" title="Germany"&gt;</div>
<div id="_mcePaste">&lt;span&gt;&lt;/span&gt;Germany</div>
<div id="_mcePaste">&lt;/a&gt;</div>
<div id="_mcePaste">&lt;/li&gt;</div>
<div id="_mcePaste">&lt;/ul&gt;</div>
</pre>
<p>Definiamo una lista non ordinata con  all&#8217;interno degli elementi &#8220;li&#8221; che conterranno le singole lingue. In ogni singola voce definiamo un link che conterrà l&#8217;url al sito nella rispettiva lingua.In questo esempio ogni link rimanda ad una pagina fittizia a cui viene aggiunta una variabile per la selezione della lingua. Nel link inseriremo un elemento span che utilizzaremo come contenitore per l&#8217;immagine della bandiera e il testo della lingua.</p>
<p>Le classi presenti sull&#8217;elemento &#8220;ul&#8221; sono relative al layout della lista (.langSelect) e al template applicato (&#8220;.black&#8221;,&#8221;.white&#8221; oppure &#8220;.grey&#8221;). Le classi &#8220;.f16&#8243; e &#8220;flag&#8221; sono relative a flags16.css e servono per mostrare l&#8217;immagine delle rispettive bandiere.</p>
<h3>CSS</h3>
<p>La prima parte del css è dedicata al template. Colori, bordi e immagini di fondo sono gestiti dalle classi &#8220;.black&#8221; , &#8220;.white&#8221; e &#8220;.grey&#8221;.</p>
<pre>/*black theme*/
.black{background-color:#000;border:1px solid #444;}
.black li:first-child{background-position:right top;}
.black a{color:#fff;}
.black a:hover{background:#111;}
.black li:first-child + li{border-top:1px solid #444;}
/*white theme*/
.white{background-color:#eee;border:1px solid #bbb;}
.white li:first-child{background-position:right -25px;}
.white a{color:#333;}
.white a:hover{background:#ddd;}
.white li:first-child + li{border-top:1px solid #bbb;}
/*grey theme*/
.grey{background-color:#ccc;border:1px solid #eee;}
.grey li:first-child{background-position:right -50px;}
.grey a{color:#000;}
.grey a:hover{background:#999;}
.grey li:first-child + li{border-top:1px solid #aaa;}</pre>
<p>La seconda parte del css gestisce il layout della lista definendo dimensioni, spaziature e larghezza.</p>
<pre>.langSelect{
    width:150px;
    -moz-border-radius:10px;
    -webkit-border-radius:10px;
    border-radius:10px;
    text-align:left;
    list-style:none;
}
.langSelect li{
    line-height:25px;
    position:relative;
}
.langSelect a{
    padding-left:35px;
    position:relative;
    text-decoration:none;
    display:block;
}
.langSelect li:first-child a:hover{
    background:transparent;
}
.langSelect li:first-child{
    background-image:url(../img/bg_lang_select.png);
    background-repeat:no-repeat;
    -moz-border-radius:10px;
    -webkit-border-radius:10px;
    border-radius:10px;
}
.langSelect li:last-child a:hover{
    -moz-border-radius:0 0 10px 10px;
    -webkit-border-radius:0 0 10px 10px;
    border-radius:0 0 10px 10px;
}
.langSelect a span{
    width:16px;
    height:16px;
    position:absolute;
    top:50%;
    margin-top:-8px;
    left:10px;
}</pre>
<p>In questo modo è possibile creare stili customizzati in poco tempo e senza dover metter mano al layout.</p>
<h3>JQUERY E JAVASCRIPT</h3>
<p>Prima di inizare con il codice javascript assicuratevi di aver incluso la libreria  jquery nella pagina, la potete trovare sul <a title="jquery" href="http://www.jquery.com/" target="_blank">sito di jquery</a> o in alternativa caricarla attraverso le <a title="google ajax libraries api" href="http://code.google.com/apis/ajaxlibs/" target="_blank">Google AJAX Libraries API</a>.<br />
Lo script può essere incluso sia internamente che esternamente alla pagina html.</p>
<p>Il codice verifica innanzitutto il caricamento della pagina.</p>
<pre> $(function() {</pre>
<p>Una volta certo della presenza degli elementi nel DOM inizia nascondendo tutti gli elementi &#8220;li&#8221; successivi al primo.</p>
<p>$(&#8220;.langSelect li:first-child&#8221;).nextAll().hide();</p>
<p>La seguente istruzione verifica l&#8217;hover del mouse sulla lista.</p>
<pre> $(".langSelect").hover(function(){</pre>
<p>Al mouseover anima gli elementi successivi al primo &#8220;li&#8221; mostrandoli.</p>
<pre> $(this).find("li:first-child").nextAll().not(":animated").slideDown(500);</pre>
<p>Mentre al mouseout li nasconde</p>
<pre> $(this).find("li:first-child").nextAll().not(":animated").slideUp(500);</pre>
<p>Una piccola nota su questo passaggio, è possibile notare l&#8217;utilizzo di .not(&#8220;:animated&#8221;) questa aggiunta impedisce che le animazioni partano o si ripetano quando gli elementi sono ancora animati.<br />
Una volta completate le istruzioni sull&#8217;animazione definiamo il codice da eseguire al click della singola voce.</p>
<pre> $(".langSelect li").click(function(){</pre>
<p>Come prima cosa è necessario verificare se la voce cliccata sia quella già selezionata.</p>
<pre> if($("li").index(this) == 0){</pre>
<p>in quel caso annulliamo la chiamata del link e non eseguiamo ulteriori istruzioni</p>
<pre> return false;</pre>
<p>In questo caso return false sull&#8217;elemento li annulla la chiamata del link al suo interno impedendo la chiamata alla pagina su cui l&#8217;utente già si trova.<br />
Nel caso l&#8217;utente clicchi su una lingua diversa da quella selezionata spostiamo questa voce come prima della lista.</p>
<pre> $(this).prependTo($(this).parent("ul"));</pre>
<p>Subito dopo animo il menu per nascondere le altre lingue.</p>
<pre> $(this).parent("ul").find("li:first-child").nextAll().slideUp(400,</pre>
<p>E aggiungo una funzione di callback che al completamento dell&#8217;animazione rimanda l&#8217;utente all&#8217;url presente nel link della lingua cliccata.</p>
<pre> function (){
 location.href = $(this).find("a").attr("href");
 });</pre>
<p>Per concludere annullo la chiamata del link tradizionale ed evitare l&#8217;immediata chiamata alla pagina in questione.</p>
<pre> return false;</pre>
<p>Per vedere l&#8217; esempio completo visitate la <a href="http://www.howtoweb.it/wp-content/uploads/selectlanguage/">demo</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.howtoweb.it/tutorial/realizzare-select-multilingue-con-jquery/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Lezioni di HTML 5 Lezione 4 &#8211; L&#8217;elemento video</title>
		<link>http://www.howtoweb.it/articoli/lezioni-di-html-5-lezione-4-lelemento-video-2/</link>
		<comments>http://www.howtoweb.it/articoli/lezioni-di-html-5-lezione-4-lelemento-video-2/#comments</comments>
		<pubDate>Wed, 19 May 2010 22:19:30 +0000</pubDate>
		<dc:creator>Mauro Accornero</dc:creator>
				<category><![CDATA[Articoli]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[html 5]]></category>
		<category><![CDATA[web design]]></category>

		<guid isPermaLink="false">http://www.howtoweb.it/?p=635</guid>
		<description><![CDATA[Una delle funzionalità più interessanti dell&#8217;HTML 5 è senza dubbio rappresentata dalla possibilità di inserire filmati video all&#8217;interno della pagina web. Questo elemento cambia notevolmente il modo in cui gli utenti possono usufruire dei video su internet permettendo la visione &#8230; <a href="http://www.howtoweb.it/articoli/lezioni-di-html-5-lezione-4-lelemento-video-2/">Continua a leggere<span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-573" title="html5_lesson1" src="http://www.howtoweb.it/wp-content/uploads/2010/04/html5_lesson1.jpg" alt="" width="580" height="200" /></p>
<p>Una delle funzionalità più interessanti dell&#8217;HTML 5 è senza dubbio rappresentata dalla possibilità di inserire filmati video all&#8217;interno della pagina web.</p>
<p>Questo elemento cambia notevolmente il modo in cui gli utenti possono usufruire dei video su internet permettendo la visione del contenuto senza un player flash.</p>
<p>L&#8217;attuale supporto per questo elemento è riservato alle ultime versioni di firefox, safari e chrome ma la stessa microsoft ha annunciato il supporto per Internet explorer 9 mentre per Opera dalla versione 10 (10.5).</p>
<h3>Per iniziare</h3>
<p>Prima di iniziare con il codice è indispensabile ricordare che non tutti i browser supportano gli stessi contenitori e gli stessi codecs audio/video. Un file video è di fatti composto da un contenitore (mpeg4,flash video, ogg ecc), un codec audio (mpeg1,vorbis, ecc) e un codec video (mpeg4 asp, h.264, theora).<br />
Per portare un po&#8217; di ordine in questa situazione è utile tener presente ciò che è supportato dai browser e preparare due files. Uno con theora,vorbis e ogg e il secondo con h.624,aac e mp4.</p>
<p>Il primo files sarà supportato da firefox, opera e chrome il secondo da chrome, safari, iphone e android.</p>
<p>Per la conversione dei files di questo esempio sono stati utilizzati <a href="http://v2v.cc/~j/ffmpeg2theora/" target="_blank">ffmpeg2theora</a> ed <a href="http://handbrake.fr/" target="_blank">handbrake</a> .</p>
<h3>L&#8217;elemento video</h3>
<p>Per integrare nella pagina web il nostro video utilizziamo l&#8217;elemento video con chiusura esplicita.</p>
<pre>&lt;video&gt;&lt;/video&gt;</pre>
<p>Al suo interno è possibile specificare un contenuto alternativo nel caso il browser non supporti questo elemento.</p>
<pre>&lt;video&gt;
&lt;p&gt;Spiacente il tuo browser non supporta l'elemento video&lt;/p&gt;
&lt;/video&gt;</pre>
<p>Considerato che l&#8217;elemento video si comporta come l&#8217;elemento immagine necessita sempre di avere un altezza e una larghezza specifica.</p>
<pre>&lt;video width="640" height="480"&gt;
&lt;p&gt;Spiacente il tuo browser non supporta l'elemento video&lt;/p&gt;
&lt;/video&gt;</pre>
<p>Per inserire il video sorgente aggiungiamo l&#8217;attributo src con la path relativa alla risorsa.</p>
<pre>&lt;video src="miovideo.ogv" width="640" height="480"&gt;
&lt;p&gt;Spiacente il tuo browser non supporta l'elemento video&lt;/p&gt;
&lt;/video&gt;</pre>
<p>Per rendere visibili i controlli del video è sufficiente aggiungere l&#8217;attributo controls.</p>
<pre>&lt;video src="miovideo.ogv" width="640" height="480" controls&gt;
&lt;p&gt;Spiacente il tuo browser non supporta l'elemento video&lt;/p&gt;
&lt;/video&gt;</pre>
<p>Se desideriamo che il video venga scaricato non appena la pagina è caricata possiamo aggiungere l&#8217;attributo preload.</p>
<pre>&lt;video src="miovideo.ogv" width="640" height="480" preload&gt;
&lt;p&gt;Spiacente il tuo browser non supporta l'elemento video&lt;/p&gt;
&lt;/video&gt;</pre>
<p>O in caso contrario specificare &#8220;none&#8221; come valore.</p>
<pre>&lt;video src="miovideo.ogv" width="640" height="480" preload="none"&gt;
&lt;p&gt;Spiacente il tuo browser non supporta l'elemento video&lt;/p&gt;
&lt;/video&gt;</pre>
<p>Un&#8217;ultima opzione viene offerta dall&#8217;attributo autoplay che fa partire automaticamente il filmato.</p>
<pre>&lt;video src="miovideo.ogv" width="640" height="480" autoplay&gt;
&lt;p&gt;Spiacente il tuo browser non supporta l'elemento video&lt;/p&gt;
&lt;/video&gt;</pre>
<p>Un&#8217;ultima nota va dedicata al fatto che abbiamo due file da inserire e non uno, l&#8217;attributo src non è quindi sufficiente e dobbiamo utilizzare l&#8217;elemento source con l&#8217;attributo src per definire la risorsa.<br />
In aggiunta è necessario specificare il mime del file e i codecs per far sì che il browser sappia a priori cosa andrà a caricare e se è supporta lo specifico file.</p>
<pre>&lt;video  width="640" height="480" autoplay&gt;
&lt;source src="miovideo.m4v" type='video/mp4; codecs="avc1.42E01E, mp4a.40.2"'&gt;
&lt;source src="miovideo.ogv" type='video/ogg; codecs="theora, vorbis"'&gt;
&lt;p&gt;Spiacente il tuo browser non supporta l'elemento video&lt;/p&gt;
&lt;/video&gt;</pre>
<h3>In conclusione</h3>
<p>Una volta applicato questo codice con i relativi percorsi ai rispettivi files si ottiene un risultato come in <a href="http://www.howtoweb.it/wp-content/uploads/video" target="_blank">questo esempio</a>.</p>
<p>Il video utilizzato nell&#8217;esempio è  visibile su <a href="http://www.youtube.com/watch?v=XB5qvfE92P8" target="_blank">youtube </a>ed è stato gentilmente fornito da <a href="http://blog.vialemarchinoguido.com/" target="_blank">Guido Viale Marchino</a> che ringrazio per l&#8217;aiuto.</p>
<p>Una funzionalità aggiuntiva per i browser che non supportano il tag video potrebbe essere quella di aggiungere un flash player come contenuto alternativo ma richiede una verifica del supporto dell&#8217;elemento video per il client utilizzato dall&#8217;utente.</p>
<p>Nel prossimo articolo vedremo come verificare il supporto delle varie funzionalità dell&#8217;HTML 5 nel browser dell&#8217;utente. Torna a trovarmi su howtoweb.it per le prossime lezioni di html 5 o <a href="http://www.howtoweb.it/feed/" target="_self">iscriviti agli rss</a> per rimanere sempre aggiornato sui nuovi articoli.</p>
<h3>Nota:</h3>
<p>Ho notato che inizialmente il video non veniva caricato correttamente su firefox e opera, il problema era il fatto che il mime video/ogg non veniva associato da apache al file in formato .ogv</p>
<p>Per risolvere ho aggiunto un file .htaccess nella cartella specificando a quali formati applicare il mime presente nela pagina html.</p>
<p>Nel caso incontriate la stessa problematica è possibile risolvere con questa linea di codice all&#8217;interno del file .htaccess</p>
<pre>AddType video/ogg .ogg .ogv</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.howtoweb.it/articoli/lezioni-di-html-5-lezione-4-lelemento-video-2/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Lezioni di HTML 5 Lezione 4 &#8211; L&#039;elemento video</title>
		<link>http://www.howtoweb.it/articoli/lezioni-di-html-5-lezione-4-lelemento-video/</link>
		<comments>http://www.howtoweb.it/articoli/lezioni-di-html-5-lezione-4-lelemento-video/#comments</comments>
		<pubDate>Wed, 19 May 2010 22:19:30 +0000</pubDate>
		<dc:creator>Mauro Accornero</dc:creator>
				<category><![CDATA[Articoli]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[html 5]]></category>
		<category><![CDATA[web design]]></category>

		<guid isPermaLink="false">http://www.howtoweb.it/?p=635</guid>
		<description><![CDATA[Una delle funzionalità più interessanti dell&#8217;HTML 5 è senza dubbio rappresentata dalla possibilità di inserire filmati video all&#8217;interno della pagina web. Questo elemento cambia notevolmente il modo in cui gli utenti possono usufruire dei video su internet permettendo la visione &#8230; <a href="http://www.howtoweb.it/articoli/lezioni-di-html-5-lezione-4-lelemento-video/">Continua a leggere<span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-573" title="html5_lesson1" src="http://www.howtoweb.it/wp-content/uploads/2010/04/html5_lesson11.jpg" alt="" width="580" height="200" /></p>
<p>Una delle funzionalità più interessanti dell&#8217;HTML 5 è senza dubbio rappresentata dalla possibilità di inserire filmati video all&#8217;interno della pagina web.</p>
<p>Questo elemento cambia notevolmente il modo in cui gli utenti possono usufruire dei video su internet permettendo la visione del contenuto senza un player flash.</p>
<p>L&#8217;attuale supporto per questo elemento è riservato alle ultime versioni di firefox, safari e chrome ma la stessa microsoft ha annunciato il supporto per Internet explorer 9 mentre per Opera dalla versione 10 (10.5).</p>
<h3>Per iniziare</h3>
<p>Prima di iniziare con il codice è indispensabile ricordare che non tutti i browser supportano gli stessi contenitori e gli stessi codecs audio/video. Un file video è di fatti composto da un contenitore (mpeg4,flash video, ogg ecc), un codec audio (mpeg1,vorbis, ecc) e un codec video (mpeg4 asp, h.264, theora).<br />
Per portare un po&#8217; di ordine in questa situazione è utile tener presente ciò che è supportato dai browser e preparare due files. Uno con theora,vorbis e ogg e il secondo con h.624,aac e mp4.</p>
<p>Il primo files sarà supportato da firefox, opera e chrome il secondo da chrome, safari, iphone e android.</p>
<p>Per la conversione dei files di questo esempio sono stati utilizzati <a href="http://v2v.cc/~j/ffmpeg2theora/" target="_blank">ffmpeg2theora</a> ed <a href="http://handbrake.fr/" target="_blank">handbrake</a> .</p>
<h3>L&#8217;elemento video</h3>
<p>Per integrare nella pagina web il nostro video utilizziamo l&#8217;elemento video con chiusura esplicita.</p>
<pre>&lt;video&gt;&lt;/video&gt;</pre>
<p>Al suo interno è possibile specificare un contenuto alternativo nel caso il browser non supporti questo elemento.</p>
<pre>&lt;video&gt;
&lt;p&gt;Spiacente il tuo browser non supporta l'elemento video&lt;/p&gt;
&lt;/video&gt;</pre>
<p>Considerato che l&#8217;elemento video si comporta come l&#8217;elemento immagine necessita sempre di avere un altezza e una larghezza specifica.</p>
<pre>&lt;video width="640" height="480"&gt;
&lt;p&gt;Spiacente il tuo browser non supporta l'elemento video&lt;/p&gt;
&lt;/video&gt;</pre>
<p>Per inserire il video sorgente aggiungiamo l&#8217;attributo src con la path relativa alla risorsa.</p>
<pre>&lt;video src="miovideo.ogv" width="640" height="480"&gt;
&lt;p&gt;Spiacente il tuo browser non supporta l'elemento video&lt;/p&gt;
&lt;/video&gt;</pre>
<p>Per rendere visibili i controlli del video è sufficiente aggiungere l&#8217;attributo controls.</p>
<pre>&lt;video src="miovideo.ogv" width="640" height="480" controls&gt;
&lt;p&gt;Spiacente il tuo browser non supporta l'elemento video&lt;/p&gt;
&lt;/video&gt;</pre>
<p>Se desideriamo che il video venga scaricato non appena la pagina è caricata possiamo aggiungere l&#8217;attributo preload.</p>
<pre>&lt;video src="miovideo.ogv" width="640" height="480" preload&gt;
&lt;p&gt;Spiacente il tuo browser non supporta l'elemento video&lt;/p&gt;
&lt;/video&gt;</pre>
<p>O in caso contrario specificare &#8220;none&#8221; come valore.</p>
<pre>&lt;video src="miovideo.ogv" width="640" height="480" preload="none"&gt;
&lt;p&gt;Spiacente il tuo browser non supporta l'elemento video&lt;/p&gt;
&lt;/video&gt;</pre>
<p>Un&#8217;ultima opzione viene offerta dall&#8217;attributo autoplay che fa partire automaticamente il filmato.</p>
<pre>&lt;video src="miovideo.ogv" width="640" height="480" autoplay&gt;
&lt;p&gt;Spiacente il tuo browser non supporta l'elemento video&lt;/p&gt;
&lt;/video&gt;</pre>
<p>Un&#8217;ultima nota va dedicata al fatto che abbiamo due file da inserire e non uno, l&#8217;attributo src non è quindi sufficiente e dobbiamo utilizzare l&#8217;elemento source con l&#8217;attributo src per definire la risorsa.<br />
In aggiunta è necessario specificare il mime del file e i codecs per far sì che il browser sappia a priori cosa andrà a caricare e se è supporta lo specifico file.</p>
<pre>&lt;video  width="640" height="480" autoplay&gt;
&lt;source src="miovideo.m4v" type='video/mp4; codecs="avc1.42E01E, mp4a.40.2"'&gt;
&lt;source src="miovideo.ogv" type='video/ogg; codecs="theora, vorbis"'&gt;
&lt;p&gt;Spiacente il tuo browser non supporta l'elemento video&lt;/p&gt;
&lt;/video&gt;</pre>
<h3>In conclusione</h3>
<p>Una volta applicato questo codice con i relativi percorsi ai rispettivi files si ottiene un risultato come in <a href="http://www.howtoweb.it/wp-content/uploads/video" target="_blank">questo esempio</a>.</p>
<p>Il video utilizzato nell&#8217;esempio è  visibile su <a href="http://www.youtube.com/watch?v=XB5qvfE92P8" target="_blank">youtube </a>ed è stato gentilmente fornito da <a href="http://blog.vialemarchinoguido.com/" target="_blank">Guido Viale Marchino</a> che ringrazio per l&#8217;aiuto.</p>
<p>Una funzionalità aggiuntiva per i browser che non supportano il tag video potrebbe essere quella di aggiungere un flash player come contenuto alternativo ma richiede una verifica del supporto dell&#8217;elemento video per il client utilizzato dall&#8217;utente.</p>
<p>Nel prossimo articolo vedremo come verificare il supporto delle varie funzionalità dell&#8217;HTML 5 nel browser dell&#8217;utente. Torna a trovarmi su howtoweb.it per le prossime lezioni di html 5 o <a href="http://www.howtoweb.it/feed/" target="_self">iscriviti agli rss</a> per rimanere sempre aggiornato sui nuovi articoli.</p>
<h3>Nota:</h3>
<p>Ho notato che inizialmente il video non veniva caricato correttamente su firefox e opera, il problema era il fatto che il mime video/ogg non veniva associato da apache al file in formato .ogv</p>
<p>Per risolvere ho aggiunto un file .htaccess nella cartella specificando a quali formati applicare il mime presente nela pagina html.</p>
<p>Nel caso incontriate la stessa problematica è possibile risolvere con questa linea di codice all&#8217;interno del file .htaccess</p>
<pre>AddType video/ogg .ogg .ogv</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.howtoweb.it/articoli/lezioni-di-html-5-lezione-4-lelemento-video/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>L&#8217;inutilità di sviluppare per Internet Explorer 6</title>
		<link>http://www.howtoweb.it/articoli/linutilita-di-sviluppare-per-internet-explorer-6-2/</link>
		<comments>http://www.howtoweb.it/articoli/linutilita-di-sviluppare-per-internet-explorer-6-2/#comments</comments>
		<pubDate>Thu, 29 Apr 2010 14:12:05 +0000</pubDate>
		<dc:creator>Mauro Accornero</dc:creator>
				<category><![CDATA[Articoli]]></category>
		<category><![CDATA[web design]]></category>

		<guid isPermaLink="false">http://www.howtoweb.it/?p=624</guid>
		<description><![CDATA[Nelle ultime settimane mi si sono presentate diverse occasioni per discutere sul supporto da offrire agli utenti di Internet Explorer 6 e ho notato che la questione risulta ben lontana dall&#8217;essere risolta. Allo stato attuale i maggiori servizi di statistiche &#8230; <a href="http://www.howtoweb.it/articoli/linutilita-di-sviluppare-per-internet-explorer-6-2/">Continua a leggere<span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-627" title="ie6" src="http://www.howtoweb.it/wp-content/uploads/2010/04/ie6.jpg" alt="" width="580" height="200" /></p>
<p>Nelle ultime settimane mi si sono presentate diverse occasioni per discutere sul supporto da offrire agli utenti di Internet Explorer 6 e ho notato che la questione risulta ben lontana dall&#8217;essere risolta.</p>
<p>Allo stato attuale i maggiori servizi di statistiche web delineano gli utenti di Internet Explorer 6 tra il 9% e il 18% dell&#8217;utenza mondiale.</p>
<p>Una statistica indubbiamente preoccupante considerato che superara gli utenti di safari, chrome ed opera messi insieme.</p>
<p>Detto questo prima di farsi prendere dal panico suggerirei di abbandonare le ricerce per ottenere un numero preciso di utenti IE6 sul pianeta e di basarsi su qualcosa di più oggettivo.</p>
<p>Sicuramente se vi siete posti il problema è perchè temete di perdere utenza tra coloro che utilizzano questo vetusto browser e prima di procedere oltre vi consiglierei di rispondere alla seguente domanda:</p>
<p><strong><span style="text-decoration: underline;">Quanti utenti con Internet Explorer 6 navigano sul vostro sito?</span></strong></p>
<p>Per fare un esempio su questo blog gli utenti con ie6 negli ultimi 4 mesi risultano meno dell&#8217;1% e lo stesso potrebbe essere per il vostro sito.</p>
<p>Non saprete mai di quanti utenti state parlando finchè non effettuerete delle verifiche sulle vostre statistiche.</p>
<p>Sicuramente questi dati sono molto più precisi delle statistiche globali, che essendo su grandi numeri e contesti diversi probabilmente non rappresentano il vostro caso.</p>
<p>Una volta verificati i numeri vi inviterei a valutare anche l&#8217;andamento delle visite degli utenti con IE6 da un anno fa ad oggi.</p>
<p>Sulla base di questi dati possiamo arrivare sicuramente ad almeno un paio di conclusioni:</p>
<p><strong>1) Gli attuali utenti con Internet Explorer 6 sono una minoranza</strong></p>
<p><strong>2) Gli attuali utenti con Internet Explorer 6 sono meno di un anno fa</strong></p>
<p>Queste sono realtà oggettive ricavabili dalle statistiche di qualunque sito web.</p>
<p>Perchè accade questo? Internet Explorer 6 è un browser obsoleto, uscito nel 2001 che ha visto alterni update fino al 2007/2008, da allora sono uscite 2 nuove versioni di questo browser e a breve ne vedremo una terza.Questo browser presenta innumerevoli problemi di sicurezza, performance e funzionalità, per questo motivo molte aziende quali Google hanno abbandonato il supporto a questo browser.</p>
<p>Per lo stesso motivo Microsoft sta portando avanti da tempo campagne a favore dell&#8217;aggiornamento a Internet Explorer 8.</p>
<p>Gli interventi necessari per il funzionamento delle attuali tecnologie su Internet Explorer 6 sono onerosi e in alcuni casi impossibili, richiedono lunghi tempi di produzione e di test, quindi grandi costi che potrebbero essere altrimenti destinati al miglioramento dell&#8217;accessibilità e dell&#8217;usabilità, all&#8217;ottimizzazione dei tempi di caricamento delle pagine e per i motori di ricerca che portano vantaggi concreti a tutta l&#8217;utenza del sito e non solo ad una minoranza in via d&#8217;estinzione.</p>
<p>Lavorare ad oggi per il supporto agli utenti di Internet Explorer 6 è di fatto uno spreco di tempo e risorse che non porta vantaggi a nessuno e rappresenta una completa opposizione al buon senso che attualmente caratterizza il mondo del web ed aziende del livello di Microsoft o Google.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.howtoweb.it/articoli/linutilita-di-sviluppare-per-internet-explorer-6-2/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
	</channel>
</rss>

