<?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>paitadesignblog &#187; preview</title>
	<atom:link href="http://www.paitadesign.com/blog/tag/preview/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.paitadesign.com/blog</link>
	<description>HTML, CSS e tutto il resto</description>
	<lastBuildDate>Thu, 06 Oct 2011 09:55:22 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>CSS Pseudo-classi: come usarle su IE6+!</title>
		<link>http://www.paitadesign.com/blog/css-pseudo-classi-ie6-come-usarle-cross-browser/</link>
		<comments>http://www.paitadesign.com/blog/css-pseudo-classi-ie6-come-usarle-cross-browser/#comments</comments>
		<pubDate>Sun, 16 May 2010 09:31:40 +0000</pubDate>
		<dc:creator>Giacomo Paita</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Webdesign]]></category>
		<category><![CDATA[bugfix]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[novità]]></category>
		<category><![CDATA[preview]]></category>

		<guid isPermaLink="false">http://www.paitadesign.com/blog/?p=532</guid>
		<description><![CDATA[


Articoli correlati:<ol><li><a href='http://www.paitadesign.com/blog/css3-page-curl-effect-effetto-foto-piegata/' rel='bookmark' title='Permanent Link: CSS3: effetto foto piegata!'>CSS3: effetto foto piegata!</a></li>
<li><a href='http://www.paitadesign.com/blog/tabelle-html-come-usarle-quando-usarle/' rel='bookmark' title='Permanent Link: Tabelle HTML: come usarle, quando usarle'>Tabelle HTML: come usarle, quando usarle</a></li>
<li><a href='http://www.paitadesign.com/blog/css3-compatibilita-cross-browser-da-oggi/' rel='bookmark' title='Permanent Link: CSS3: compatibilità cross-browser&#8230;da oggi!'>CSS3: compatibilità cross-browser&#8230;da oggi!</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Le <strong>pseudo-classi <acronym title="Cascading Style Sheets">CSS</acronym></strong> sono utilizzate per aggiungere <em>effetti speciali</em> ad alcuni selettori e si riconoscono perch&egrave; hanno i  &quot;due punti &quot; che precedono la dichiarazione. I <acronym title="Cascading Style Sheets v3">CSS3</acronym> stanno per introdurre una gran quantit&agrave; di <strong>nuove pseudo classi</strong>, che renderanno la vita dei webdesigner  molto pi&ugrave; facile (se si esclude la compatibilit&agrave; con tutti i browser). Le pseudo-classi aiutano sia l&#8217;estetica e l&#8217;usabilit&agrave;, e possono fare velocemente e facilmente cose che una volta erano difficili da ottenere.</p>
<p><span id="more-532"></span></p>
<p>Purtroppo, anche se alcune di esse appartengono gi&agrave; alle specifiche <acronym title="Cascading Style Sheets">CSS</acronym> 2.1, non sono supportate da nesusn browser IE. Ecco allora che ci vengono in aiuto alcune <em>librerie JavaScript</em> che uniformano il comportamento di IE ai browser pi&ugrave; recenti. </p>
<p><a href="http://code.google.com/p/ie7-js/" title="A JavaScript library to make MSIE behave like a standards-compliant browser." target="_blank">IE7.js</a> &egrave; una libreria JavaScript (100kb) per far s&igrave; che <strong>Internet Explorer 6+ si comporti come un browser standard-compliant</strong>. Essa risolve molti problemi legati a <acronym title="HyperText Markup Language">HTML</acronym>, <acronym title="Cascading Style Sheets">CSS</acronym> e  fa funzionare correttamente con IE5 e IE6 le PNG trasparenti. <br />
Scarichiamola e scegliamo di includere il JavaScript che ci permette di aggiornare <em>tutti gli IE alla versione 9</em>, cos&igrave;:</p>
<pre name="codice" class="xhtml">
&lt;!--[if lt IE 9]&gt;
  &lt;script src=&quot;IE9.js&quot;&gt;&lt;/script&gt;
&lt;![endif]--&gt;</pre>
<div id="assetPanel">
        <a class="assetCode" title="Scarica tutte le risorse per questo tutorial"href="http://www.paitadesign.com/examples/css-pseudoclassi-come-usarle-su-ie6+/css-pseudoclassi-come-usarle-su-ie6_risorse.zip" target="_blank">Risorse</a><a class="assetDemo" title="Visualizza il risultato finale" href="http://www.paitadesign.com/examples/css-pseudoclassi-come-usarle-su-ie6+/css-pseudoclassi-esempi-posizion-related.html" target="_blank">Demo</a>
</div>
<h2>Pseudoclassi: sintassi</h2>
<p>Tutte le pseudo-classi seguono questa sintassi:</p>
<pre name="codice" class="css">elemento:pseudoClasse {
...
}
</pre>
<p>Alcune pseudo-classi fanno uso anche delle parentesi. Per esempio, la pseudo-classe <code>:not()</code> dichiara quale regola <acronym title="Cascading Style Sheets">CSS</acronym> non applicare. Ci&ograve; &egrave; utile quando si desidera applicare qualcosa a tutto tranne a un certa classe/ID. Per esempio, questa dichiarazione:</p>
<pre name="codice" class="css">.miaClasse:not(div) {
 background:#CCC;
}  </pre>
<p>imposta uno sfondo di colore <code>#CCC</code> per tutti gli elementi che non siano <code>div</code>.</p>
<h2>Utilizzo delle pseudo-classi</h2>
<p></p>
<h3>Pseudo-classi correlate ai link</h3>
<p>Queste pseudo-classi applicano degli stili ai <em>diversi stati di un link</em>.  Ecco di seguito la lista completa e <a href="http://www.paitadesign.com/examples/css-pseudoclassi-come-usarle-su-ie6+/css-pseudoclassi-esempi-link-related.html" title="utilizzo delle pseudo-classi: esempi" target="_blank">cosa possiamo ottenere</a>:</p>
<ul>
<li><code>:link</code> applica uno stile a un <strong>link non visitato</strong></li>
<li><code>:visited</code> applica uno stile a un <strong>link visitato</strong></li>
<li><code>:hover</code> applica uno stile su un elemento al <strong>passaggio del mouse</strong></li>
<li><code>:active</code> applica uno stile a un <strong>elemento attivo</strong>. Per esempio, un link è attivo <em>da quando ci si clicca a quando si rilascia il click</em></li>
</ul>
<p>A questo riguardo occorre ricordare che l&#8217;ordine sopra indicato non &egrave; casuale: in fatti, ogni pseudo-classe link-related ha una sua <a href="http://meyerweb.com/eric/css/link-specificity.html" title="Link specificity">specificità</a>. <br />
Esiste una sorta di short-hand per ricordarsi la corretta successione: prendendo la lettera iniziale di ogni stato si ottiene &quot;LVHA&quot;, che pu&ograve; essere ampliato a &quot;<em>L</em>o<em>V</em>e <em>H</em><em>A</em>te&quot;. </p>
<h3>Pseudo-classi correlate a Input &amp; link</h3>
<ul>
<li><code>:focus</code> 	applica uno stile a un elemento in uso. Per esempio, quando si scrive dentro una <code>textarea</code>, in quel momento essa è in uso</li>
<li><code>:target</code>  se si dispone di un URL tipo <code>index.html#about</code>, questo permetterà di applicare i <acronym title="Cascading Style Sheets">CSS</acronym> per l&#8217;elemento con <code>id="about"</code></li>
<li><code>:enabled</code>	seleziona tutti gli elementi <code>input</code> in stato <code>enable</code></li>
<li><code>:disabled</code> 	seleziona tutti gli elementi <code>input</code> in stato <code>disabled</code></li>
<li><code>:checked</code>  controllato nelle caselle di immissione selezionate</li>
<li><code>:indeterminate</code> seleziona i radio e i check-box, quando essi non sono né selezionata né non selezionata</li>
<li><code>:required</code> 	seleziona gli elementi <code>input</code> che sono <code>required</code></li>
<li><code>:optional</code> 	seleziona gli elementi <code>input</code> che sono <code>optional</code></li>
<li><code>:invalid</code> 	seleziona <code>input</code> non validi</li>
<li><code>:in-range</code> 	selziona elementi che sono in un <code>range</code> (da utilizzare con <code>input type=&quot;range&quot;</code> in <acronym title="HyperText Markup Language">HTML</acronym>5)</li>
<li><code>:out-of-range</code> 	seleziona elementi fuori dal <code>range</code></li>
<li><code>:default</code> 	seleziona l&#8217;elemento di default, per esempio, in un <code>form</code> il bottone <code>submit</code></li>
<li><code>:valid</code> 	seleziona un campo <code>input</code> valido  (<acronym title="HyperText Markup Language">HTML</acronym>5)</li>
</ul>
<h3>Pseudo-classi correlate alla posizione/numero</h3>
<p>Ecco un <a href="http://www.paitadesign.com/examples/css-pseudoclassi-come-usarle-su-ie6+/css-pseudoclassi-esempi-posizion-related.html" title="Utilizzo delle pseudo-classi: Pseudo-classi correlate alla posizione/numero" target="_blank">esempio</a>:</p>
<ul>
<li><code>:root</code> applica uno stile <acronym title="Cascading Style Sheets">CSS</acronym> all&#8217;elemento radice, ossia il tag &lt;html&gt; in un documento <acronym title="HyperText Markup Language">HTML</acronym></li>
<li><code>:first-child </code>	applica uno stile al primo figlio di un elemento</li>
<li><code>:last-child</code>applica i <acronym title="Cascading Style Sheets">CSS</acronym> all&#8217;ultimo elemento contenuto. Esempio div <code>p:last-child</code> seleziona l&#8217;ultimo paragrafo d un <code>div</code></li>
<li><code>:nth-child(N)</code> 	seleziona elementi numerati, <em>su base 1</em>. Per esempio, <code>p:nth-child(3)</code> seleziona l&#8217;elemento <code>p</code> che è il terzo figlio. Si possono anche aggiungere regole, per esempio p:nth-child(2n+1), dove <code>n</code> è il numero di partenza partendo da <code>0</code> e viene incrementato di <code>1</code>. Perciò, questa regola seleziona tutti gli elementi pari (odd): in questo caso è equivalente a scrivere <code>nth-child(odd)</code>, così come per i dispari si scrive <code>nth-child(even)</code></li>
<li><code>:nth-of-type(N)</code>  applicare i <acronym title="Cascading Style Sheets">CSS</acronym> a un elemento numerato di un certo tipo. Per esempio: <code>div:nth-of-type(2)</code> seleziona il secondo di quel tipo</li>
<li><code>:nth-last-of-type(N)</code> 	seleziona un elemento in base alla sua posizione, per esempio <code>nth-last-of-type(4)</code></li>
<li><code>:first-of-type</code> 	applica i <acronym title="Cascading Style Sheets">CSS</acronym> solo al primo alemento di quel genere. Per esempio, se ci sono due <code>div</code> consecutivi, applica la regola solo al primo</li>
<li><code>:last-of-type</code> 	Seleziona l&#8217;utlimo elemento di un genere</li>
<li><code>:only-child</code> 	seleziona un elemento solo se è l&#8217;unico figlio del contenitore padre</li>
<li><code>:only-of-type</code> 	seleziona un elemento solo se esso è l&#8217;unico nel suo genere contenuto nell&#8217;elemento padre</li>
</ul>
<h3>Pseudo-classi relazionali</h3>
<ul>
<li><code>:not(elemento | classe)</code> applica una regola <acronym title="Cascading Style Sheets">CSS</acronym> solo agli elementi che non sono specificati tra le parentesi</li>
<li><code>:empty</code> applica i <acronym title="Cascading Style Sheets">CSS</acronym> a un elemento solo se è vuoto</li>
</ul>
<h3>Pseudo classi e paseudo elementi legati al testo</h3>
<h4>Pseudo-elementi</h4>
<ul>
<li><code>:first-line</code> definisce lo stile <acronym title="Cascading Style Sheets">CSS</acronym> della prima riga di un elemento</li>
<li><code>:first-letter</code> definisce lo stile <acronym title="Cascading Style Sheets">CSS</acronym> del primo carattere di un elemento</li>
</ul>
<h4>Pseudo-classi</h4>
<ul>
<li><code>:lang()</code> applica uno stile a un elemento che usa una lingua specifica, per esempio <code>:lang(en)</code> per l&#8217;inglese. È quindi possibile mettere <code>lang = "en"</code> in un tag <acronym title="HyperText Markup Language">HTML</acronym> e impostare gli stili solo per esso</li>
<li><code>::selection</code> permette di cambiare lo stile del testo selezionato nel browser</li>
<li><code>:read-only </code>	seleziona gli elementi che sono <code>read-only</code></li>
<li><code>:read-write</code> seleziona la parte editabile in un elemento</li>
</ul>
<h3>Content-related pseudo-elementi</h3>
<ul>
<li><code>:before </code>è in grado di aggiungere contenuti prima di un certo elemento</li>
<li><code>:after</code> è in grado di aggiungere contenuti, dopo un certo elemento</li>
</ul>
<h3>jQuery: pseudo-selettori <acronym title="Cascading Style Sheets v3">CSS3</acronym></h3>
<p>jQuery  permette di usare tutti questi selettori, per esempio:</p>
<ul>
<li><code>:first</code> funziona come <code>:nth-child(1)</code></li>
<li><code>:eq(X)</code> è uguale a <code>:nth-child(X)</code></li>
<li><code>:contains('text')</code></li>
<li><code>:lt(X)</code>come <code>:nth-child(-n+X)</code>, seleziona “i primi X elementi”</li>
<li><code>:gt(X)</code> è come <code>:nth-child(n+X)</code>, seleziona tutto tranne “i primi (X-1) elementi”</li>
<li><code>:even</code> è come <code>:nth-child(even)</code> o <code>:nth-child(2n)</code></li>
<li><code>:odd</code> è uguale a <code>:nth-child(odd)</code> o <code>:nth-child(2n+1)</code></li>
<li><code>:has(S)</code> controlla se l&#8217;elemento contiene un certo discendente</li>
</ul>
<p>Oltre a questi ve ne sono molti <a href="http://api.jquery.com/category/selectors/" title="jQuery API - selectors" target="_blank">altri</a>.</p>
<h2>Selettori di discendenza</h2>
<p>C&#8217;&egrave; una differenza tra <em>figli</em> e <em>discendenti</em>? </p>
<p>Vediamo come impostare degli stili <acronym title="Cascading Style Sheets">CSS</acronym> per capire come funzionano il <strong>combinatore figlio diretto</strong>, il <strong>combinatore fratello adiacente</strong>, e il <strong>combinatore fratello di pari livello</strong>.</p>
<h3>Child: combinatore &quot;figlio diretto&quot;</h3>
<p>Nel <a href="http://www.paitadesign.com/examples/css-pseudoclassi-come-usarle-su-ie6+/css-selettori-di-discendenza-figio-diretto.html" title="Selettori di discendenza: Child" target="_blank">codice sottostante</a>, dichiariamo una discendenza generica (Combinatore del discendente &#8211; Descendant), e di seguito, una diretta.</p>
<pre name="codice" class="css">
#child  p { color: #000;font-weight:normal; }
#child &gt; p { color: #F00;font-weight:bold; }  </pre>
<h3>Adjacent sibling: combinatore &quot;fratello adiacente&quot;</h3>
<p>Ecco <a href="http://www.paitadesign.com/examples/css-pseudoclassi-come-usarle-su-ie6+/css-selettori-di-discendenza-adjacent-sibling.html" title="Selettori di discendenza: adjacent-sibling" target="_blank">come funziona adjacent sibling</a>: in pratica appica lo stile all&#8217;elemento, <em>se e solo se</em>, <strong>esso &egrave; immediatamente successivo altro elemento indicato</strong>. </p>
<pre name="codice" class="css">p + p { font-size: smaller; }
/* Applica lo stile solo al paragrafo che ne segue un altro (adiacente) */
#intro + ul { margin-top: 0; }
/* Applica lo stile solo alla lista che segue direttamente un elemento con  ID intro */</pre>
<h3>General sibling: combinatore &quot;fratello generico&quot;</h3>
<p><strong>General sibling</strong> &egrave; molto simile ad <em>adiacent sibling</em>: la differenza &egrave; che l&#8217;elemento che viene selezionato <em>non ha bisogno di essere immediatamente successivo</em> al primo elemento, ma <strong>pu&ograve; apparire ovunque dopo di esso</strong>. Ecco un esempio di <a href="http://www.paitadesign.com/examples/css-pseudoclassi-come-usarle-su-ie6+/css-selettori-di-discendenza-general-sibling.html" title="Selettori di discendenza: general-sibling" target="_blank">general sibling</a>:</p>
<pre name="codice" class="xhtml">p ~ p { background-color:#0F0; color:#FFF; padding:10px; }</pre>
<div class="resources">
<h3>Letture consigliate</h3>
<p><a href="http://24ways.org/2009/cleaner-code-with-css3-selectors" title="The wonder of CSS3" target="_blank">Cleaner Code with CSS3 Selectors</a><br />
<a href="http://reference.sitepoint.com/css/css3psuedoclasses" target="_blank">Sitepoint: <acronym title="Cascading Style Sheets v3">CSS3</acronym> Pseudo-classes</a><br />
<a href="http://www.modernizr.com/" target="_blank">What is Modernizr?</a><br />
<a href="http://ie7-js.googlecode.com/svn/test/index.html" target="_blank">IEe7-js.googlecode</a><br />
<a href="http://sizzlejs.com/" title="A pure-JavaScript CSS selector engine" target="_blank">Sizzle: A pure-JavaScript <acronym title="Cascading Style Sheets">CSS</acronym> selector engine</a><br />
<a href="http://forabeautifulweb.com/blog/about/enable_css_pseudo-element_selectors_in_internet_explorer_with_ie-css3.js/" title="Enable CSS pseudo-element selectors in Internet Explorer with IE" target="_blank">Enable <acronym title="Cascading Style Sheets">CSS</acronym> pseudo-element selectors in Internet Explorer with IE</a><br />
<a href="http://webtint.net/tutorials/the-mysterious-pseudo-class-in-css/" title="What is the Pseudo Class?" target="_blank">The Mysterious Pseudo Class in <acronym title="Cascading Style Sheets">CSS</acronym> </a><br />
<a href="http://css-tricks.com/child-and-sibling-selectors/" title="Child and Sibling Selectors" target="_blank">Child and Sibling Selectors</a><br />
<a href="http://css-tricks.com/pseudo-class-selectors/" class="hotLink" title="Meet the Pseudo Class Selectors" target="_blank">Meet the Pseudo Class Selectors</a><br />
<a href="http://meyerweb.com/eric/css/tests/css2/index.html" title="CSS2 Test Suite: Prototypical Pages"><acronym title="Cascading Style Sheets">CSS</acronym>2 Test Suite: Prototypical Pages</a><br />
<a href="http://htmldog.com/guides/cssadvanced/pseudoelements/" title="Pseudo Elements" target="_blank">Pseudo Elements Guide</a><br />
<a href="http://www.cssbasics.com/css-pseudo-elements/" title="CSS Pseudo Elements: The Syntax" target="_blank">CSS Pseudo Elements: The Syntax</a><br />
<a href="http://css.html.it/articoli/leggi/3330/i-selettori-combinatori-nei-css3/" target="_blank" title="I selettori combinatori nei CSS3">I selettori combinatori nei <acronym title="Cascading Style Sheets v3">CSS3</acronym></a><br />
<a class="hotLink" href="http://css.html.it/articoli/leggi/3360/selettori-css3-cross-browser-con-jquery/" title="Selettori CSS3 cross-browser con jQuery" target="_blank">Selettori <acronym title="Cascading Style Sheets v3">CSS3</acronym> cross-browser con jQuery</a>
</div>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-bg-shr">
<ul class="socials">
		<li class="shr-facebook">
			<a href="http://www.facebook.com/share.php?v=4&amp;src=bm&amp;u=http://www.paitadesign.com/blog/css-pseudo-classi-ie6-come-usarle-cross-browser/&amp;t=CSS+Pseudo-classi%3A+come+usarle+su+IE6%2B%21" rel="nofollow" class="external" title="Condividi su Facebook">Condividi su Facebook</a>
		</li>
		<li class="shr-twitter">
			<a href="http://twitter.com/home?status=CSS+Pseudo-classi%3A+come+usarle+su+IE6%2B%21+-+http://b2l.me/uuer4&amp;source=shareaholic" rel="nofollow" class="external" title="Tweetalo!">Tweetalo!</a>
		</li>
		<li class="shr-delicious">
			<a href="http://delicious.com/post?url=http://www.paitadesign.com/blog/css-pseudo-classi-ie6-come-usarle-cross-browser/&amp;title=CSS+Pseudo-classi%3A+come+usarle+su+IE6%2B%21" rel="nofollow" class="external" title="Condividi su del.icio.us">Condividi su del.icio.us</a>
		</li>
		<li class="shr-mail">
			<a href="mailto:?subject=%22CSS%20Pseudo-classi%3A%20come%20usarle%20su%20IE6%2B%21%22&amp;body=Link: http://www.paitadesign.com/blog/css-pseudo-classi-ie6-come-usarle-cross-browser/ (inviato con shareaholic)%0D%0A%0D%0A----%0D%0A Le%20pseudo-classi%20CSS%20sono%20utilizzatie%20per%20aggiungere%20effetti%20speciali%20ad%20alcuni%20selettori%3A%20ecco%20cosa%20sono%20e%20come%20usarle%20anche%20su%20IE6%2B." rel="nofollow" class="external" title="Vuoi segnalarlo via mail ad un amico?">Vuoi segnalarlo via mail ad un amico?</a>
		</li>
		<li class="shr-linkedin">
			<a href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http://www.paitadesign.com/blog/css-pseudo-classi-ie6-come-usarle-cross-browser/&amp;title=CSS+Pseudo-classi%3A+come+usarle+su+IE6%2B%21&amp;summary=Le%20pseudo-classi%20CSS%20sono%20utilizzatie%20per%20aggiungere%20effetti%20speciali%20ad%20alcuni%20selettori%3A%20ecco%20cosa%20sono%20e%20come%20usarle%20anche%20su%20IE6%2B.&amp;source=paitadesignblog" rel="nofollow" class="external" title="Condividi su LinkedIn">Condividi su LinkedIn</a>
		</li>
		<li class="shr-gmail">
			<a href="https://mail.google.com/mail/?ui=2&amp;view=cm&amp;fs=1&amp;tf=1&amp;su=CSS+Pseudo-classi%3A+come+usarle+su+IE6%2B%21&amp;body=Link: http://www.paitadesign.com/blog/css-pseudo-classi-ie6-come-usarle-cross-browser/ (inviato con shareaholic)%0D%0A%0D%0A----%0D%0A Le%20pseudo-classi%20CSS%20sono%20utilizzatie%20per%20aggiungere%20effetti%20speciali%20ad%20alcuni%20selettori%3A%20ecco%20cosa%20sono%20e%20come%20usarle%20anche%20su%20IE6%2B." rel="nofollow" class="external" title="Manda email con Gmail">Manda email con Gmail</a>
		</li>
		<li class="shr-comfeed">
			<a href="http://www.paitadesign.com/blog/css-pseudo-classi-ie6-come-usarle-cross-browser/feed" rel="nofollow" class="external" title="Vuoi iscriverti ai commenti per questo post?">Vuoi iscriverti ai commenti per questo post?</a>
		</li>
</ul>
<div style="clear:both;"></div>
</div>



<p>Articoli correlati:</p><ol><li><a href='http://www.paitadesign.com/blog/css3-page-curl-effect-effetto-foto-piegata/' rel='bookmark' title='Permanent Link: CSS3: effetto foto piegata!'>CSS3: effetto foto piegata!</a></li>
<li><a href='http://www.paitadesign.com/blog/tabelle-html-come-usarle-quando-usarle/' rel='bookmark' title='Permanent Link: Tabelle HTML: come usarle, quando usarle'>Tabelle HTML: come usarle, quando usarle</a></li>
<li><a href='http://www.paitadesign.com/blog/css3-compatibilita-cross-browser-da-oggi/' rel='bookmark' title='Permanent Link: CSS3: compatibilità cross-browser&#8230;da oggi!'>CSS3: compatibilità cross-browser&#8230;da oggi!</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.paitadesign.com/blog/css-pseudo-classi-ie6-come-usarle-cross-browser/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>CSS3: compatibilità cross-browser&#8230;da oggi!</title>
		<link>http://www.paitadesign.com/blog/css3-compatibilita-cross-browser-da-oggi/</link>
		<comments>http://www.paitadesign.com/blog/css3-compatibilita-cross-browser-da-oggi/#comments</comments>
		<pubDate>Mon, 29 Mar 2010 21:59:27 +0000</pubDate>
		<dc:creator>Giacomo Paita</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Webdesign]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[new]]></category>
		<category><![CDATA[preview]]></category>

		<guid isPermaLink="false">http://www.paitadesign.com/blog/?p=427</guid>
		<description><![CDATA[


Articoli correlati:<ol><li><a href='http://www.paitadesign.com/blog/css3-page-curl-effect-effetto-foto-piegata/' rel='bookmark' title='Permanent Link: CSS3: effetto foto piegata!'>CSS3: effetto foto piegata!</a></li>
<li><a href='http://www.paitadesign.com/blog/html5-css3-website-templates-per-iniziare-a-progettare-il-web-di-domani/' rel='bookmark' title='Permanent Link: 10+ HTML5-CSS3 Website Template: per iniziare a progettare il web di domani!'>10+ HTML5-CSS3 Website Template: per iniziare a progettare il web di domani!</a></li>
<li><a href='http://www.paitadesign.com/blog/css3-jquery-columns-layout-multi-colonne/' rel='bookmark' title='Permanent Link: CSS3 Columns e jQuery: layout multi-colonne ad altezza pari'>CSS3 Columns e jQuery: layout multi-colonne ad altezza pari</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Novit&agrave; in arrivo per i webdesigner: i <strong>CSS3</strong>! Ci sono infatti interessanti <strong>innovazioni in cantiere per i CSS</strong>, che consentiranno dare di <em>sfogo alla  creativit&agrave;</em> nel web design.  Realisticamente per&ograve;, non saremo in grado di utilizzarli, <a href="http://kimblim.dk/css-tests/selectors/" title="CSS SELECTORS AND PSEUDO SELECTORS BROWSER COMPATIBILITY" target="_blank">a causa della compatibilit&agrave; offerta dai browser</a>, per progetti professionali, ancora per <a href="http://www.css3.info/modules/" title="CSS3 Module Status" target="_blank">qualche anno</a>. Ma per i blog e siti di web design rivolti alla comunit&agrave; di <strong>web designer</strong>, queste caratteristiche possono aiutare a spingere i confini del <strong>web design moderno</strong>, aggiungendo qualche caratteristica extra al design, per <strong>sperimentare</strong> e <strong>prendere confidenza</strong> con quello che aspetta nel futuro del settore CSS.</p>
<p><span id="more-427"></span></p>
<p>L&#8217;introduzione dei <strong>CSS3</strong> permetter&agrave; di realizzare <strong>siti web pi&ugrave; flessibili</strong> e di ridurre i costi di sviluppo e di manutenzione. Per utilizzare gi&agrave; adesso la maggior parte delle <strong>propriet&agrave; CSS3</strong>, dobbiamo usare le<a href="http://reference.sitepoint.com/css/vendorspecific" title="Vendor-specific Properties" target="_blank"> specifiche estensioni  del browser</a> assieme alle <a href="http://www.findmebyip.com/litmus#target-selector" title="CSS3 PROPERTIES" target="_blank">proprietà originali</a>. Le estensioni pi&ugrave; comuni sono quelle usate per i browser basati su <strong>WebKit</strong> (per esempio, Safari), che iniziano con <strong>-WebKit</strong>, e browser basati su Gecko (per esempio, Firefox), che si aprono con <strong>-moz-</strong>. Konqueror (<strong>-KHTML-</strong>), Opera (<strong>-o</strong>) e Internet Explorer (<strong>-ms-</strong>) hanno le loro <em>estensioni proprietarie</em>. Come designer professionisti, dobbiamo tenere a mente che l&#8217;utilizzo di queste propriet&agrave; specifiche non permettere di validare i fogli di stile. Ma in alcuni casi, per sperimentare o per apprendimento, possiamo affiancarla alle proprit&agrave; CSS validate.</p>
<p>Ma esattamente quali <a href="http://www.deepbluesky.com/blog/-/browser-support-for-css3-and-html5_72/" title="Browser support for CSS3 and HTML5" target="_blank">tecniche CSS3</a> possiamo <strong>gi&agrave; usare oggi</strong>?</p>
<p>Ecco di seguito le principali <strong>novit&agrave; CSS3</strong> e la <strong>compatibilit&agrave; con i maggiori browser</strong>, da testare con i file di esempio.</p>
<div id="assetPanel" style="padding-left:95px;">
        <a class="assetCode" title="Scarica tutte le risorse per questo tutorial"href="http://www.paitadesign.com/examples/css3-novita-compatibilita-cross-browser/css3-risorse.rar" target="_blank">Risorse e demo</a>
</div>
<h2>CSS3: angoli arrotondati</h2>
<p>Ecco il codice, utilizzato per realizzare i <a href="http://www.paitadesign.com/examples/css3-novita-compatibilita-cross-browser/CSS3-bordi-arrotondati.html" title="CSS3 bordi arrotondati" target="_blank">bordi arrotondati</a>:</p>
<pre name="codice" class="css">.box_round {
     -moz-border-radius: 12px; /* FF1+ */
     -webkit-border-radius: 12px; /* Saf3+, Chrome */
     border-radius: 12px; /* Opera 10.5, IE 9 */
	}
</pre>
<ul class="browserList">
<li id="browserFirefox" >Firefox 1+</li>
<li id="browserSafari">Safari3+</li>
<li id="browserChrome">Chrome</li>
<li id="browserOpera">Opera 10.5</li>
<li id="browserIE9">IE 9</li>
</ul>
<div style="clear:both;"><!-- --></div>
<p>Una valida soluzione alternativa, realmente cross-browser (compreso IE6+), basata su JavaScript, &egrave; rappresentata da <a href="http://malsup.com/jquery/corner/" title="jQuery corner plugin: simple corner rounding" target="_blank">jQuery Corner</a>. <strong style="font-style:italic; color: red;">Update!</strong> Ecco come risolvere il bug dei <a href="http://blue-anvil.com/jquerycurvycorners/test.html" title="JQuery Curvy Corners Demo page" target="_blank">bordi arrotondati su immagini</a> di sfondo.</p>
<h2>CSS3: ombra esterna</h2>
<p>Le nuove dichiarazioni CSS3 permettono di proiettare <strong>ombra esterna</strong> da un oggetto. Per tutti i browser, tranne IE6-7-8, dopo la dichiarazione della propriet&agrave;, il primo valore consente di spostare l&#8217;ombra lungo l&#8217;asse x, il secondo la muove sull&#8217;asse delle y, il terzo gestisce il livello di blur, mentre l&#8217;ultimo definisce il colore. le versioni di IE sotto la 9, utilizzano invece <code>filter</code>.<br />
<br />
Ecco un un esempio di <a href="http://www.paitadesign.com/examples/css3-novita-compatibilita-cross-browser/CSS3-box-shadow-ombra.html" title="CSS3 ombra esterna" target="_blank">elementi con ombra esterna</a>:</p>
<pre name="codice" class="css">.box_shadow {
	-moz-box-shadow: 0px 0px 4px #000000; /* FF3.5+ */
	-webkit-box-shadow: 0px 0px 4px #000000; /* Saf3.0+, Chrome */
    box-shadow: 0px 0px 4px #000000; /* Opera 10.5, IE 9.0 */
    filter: /* IE6,IE7 e IE8 */
    progid:DXImageTransform.Microsoft.Shadow(color=#dddddd,direction=0,strength=5) /* top */
    progid:DXImageTransform.Microsoft.Shadow(color=#dddddd,direction=90,strength=5) /* left */
    progid:DXImageTransform.Microsoft.Shadow(color=#dddddd,direction=180,strength=5) /* bottom */
    progid:DXImageTransform.Microsoft.Shadow(color=#dddddd,direction=270,strength=5);  /* right */
}</pre>
<ul class="browserList">
<li id="browserFirefox" >Firefox 3.5+</li>
<li id="browserSafari">Safari3+</li>
<li id="browserChrome">Chrome</li>
<li id="browserOpera">Opera 10.5</li>
<li id="browserIE8">IE6+</li>
</ul>
<div style="clear:both; padding:0 0 20px 0;"><!-- --></div>
<h2>CSS3: sfumatura a gradiente verticale</h2>
<p>Ecco cosa usare e per ottenere una <a href="http://www.paitadesign.com/examples/css3-novita-compatibilita-cross-browser/CSS3-gradient-effetto-sfumato.html" title="CSS3 gradiente effetto sfumato" target="_blank">sfumatura verticale</a>. Da notare il mancato supporto di Opera:</p>
<pre name="codice" class="css">.box_gradient {
  background-image: -moz-linear-gradient(top, #444444, #999999); /* FF3.6 */
  background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0, #444444),color-stop(1, #999999)); /* Saf4+, Chrome */
  filter:  progid:DXImageTransform.Microsoft.gradient(startColorstr='#444444', endColorstr='#999999'); /* IE6,IE7 */
  -ms-filter: &quot;progid:DXImageTransform.Microsoft.gradient(startColorstr='#444444', endColorstr='#999999')&quot;; /* IE8 */
}</pre>
<ul class="browserList">
<li id="browserFirefox">Firefox 3.6 </li>
<li id="browserSafari">Safari4</li>
<li id="browserChrome">Chrome</li>
<li id="browserIE8">IE6+</li>
</ul>
<div style="clear:both;  padding:0 0 20px 0;"><!-- --></div>
<h2>CSS3: effetto traparenza</h2>
<p>Ecco come settare i CSS per ottenere un <a href="http://www.paitadesign.com/examples/css3-novita-compatibilita-cross-browser/CSS3-trasparenza-rgba.html" title="CSS3 RGBA cross Browser" target="_blank">effetto trasparenza cross-browser</a>. Di seguito il codice (notiamo che il filtro si comporta in questa maniera: il codice completo &egrave; #60CCFF00 dove <code>60</code> &egrave; l&#8217;<em>Alpha</em>, mentre il codice colore vero e proprio &egrave; <code>CCFF00</code>. Attenzione!):</p>
<pre name="codice" class="css">.box_rgba_1 {
	background-color: rgba(204, 255, 0, 0.6);  /* FF3+, Saf3+, Opera 10.10+, Chrome */
   filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#60CCFF00',endColorstr='#60CCFF00'); /* IE6,IE7 */
   -ms-filter: &quot;progid:DXImageTransform.Microsoft.gradient(startColorstr='#60CCFF00',endColorstr='#60CCFF00')&quot;; /* IE8 */
}</pre>
<ul class="browserList">
<li id="browserFirefox">Firefox 3+</li>
<li id="browserSafari">Safari3+</li>
<li id="browserChrome">Opera 10.10+</li>
<li id="browserChrome">Chrome</li>
<li id="browserIE8">IE6+</li>
</ul>
<div style="clear:both;  padding:0 0 20px 0;"><!-- --></div>
<h2>CSS3: rotazione</h2>
<p>Ecco come realizzare una <a href="http://samuli.hakoniemi.net/cross-browser-rotation-transformation-with-css/" title="Cross-browser Rotation Transformation with CSS" target="_blank">rotazione cross-browser</a> solo con i CSS: per prima cosa scaricate il file <a href="http://www.paitadesign.com/examples/css3-novita-compatibilita-cross-browser/-ms-transform.htc" title="-ms-transform.htc" target="_blank">-ms-transform.htc</a> e salvatelo nella cartella dei file CSS. Poi settate le regole come segue:</p>
<pre name="codice" class="css">.rotate {
	behavior:url(-ms-transform.htc); /* IE6+ */
    -moz-transform:rotate(45deg); /* FF3.5+  */
    -webkit-transform:rotate(45deg); /* Saf3.1+, Chrome */
    -o-transform:rotate(45deg); /* Opera 10.5 */
    -ms-transform:rotate(45deg); /* IE */
}
</pre>
<ul class="browserList">
<li id="browserFirefox">Firefox 3.5+</li>
<li id="browserSafari">Safari3.1+</li>
<li id="browserChrome">Opera 10.5+</li>
<li id="browserChrome">Chrome</li>
<li id="browserIE8">IE6+</li>
</ul>
<div style="clear:both;"><!-- --></div>
<p>&#8230;ed ecco come appaiono dei <a href="http://www.paitadesign.com/examples/css3-novita-compatibilita-cross-browser/CSS3-rotazione.html" title="CSS3 rotate" target="_blank"><code>div</code> ruotati</a>. </p>
<h2>CSS3: @font-face</h2>
<p>Prima di iniaziare, ecco una <a href="http://sixrevisions.com/css/font-face-guide/" title="Fonts on the Web" target="_blank">guida essenziale al <code>@font-face</code></a>.<br />Scarichiamo <a href="http://www.fontsquirrel.com/fonts/Ballpark" title="BALLPARK" target="_blank">un font</a> e generiamo le regole <a href="http://www.fontsquirrel.com/fontface/generator" title="Font-face generator" target="_blank">CSS3</a>. <br />
La regola di base che ci serve per <a href="http://www.paitadesign.com/examples/css3-novita-compatibilita-cross-browser/CSS3-font-face.html" title="Css3 regola @font-face" target="_blank">includere i font in pagina</a> poggia sulla direttiva <code>@font-face</code>: occorre definire una regola <code>@font-face</code> per ciascun font che   intendiamo utilizzare:</p>
<pre name="codice" class="css">@font-face {
	font-family: 'IlMioFont';
	src: url('ballpark_weiner.eot'); /* IE6+ */
	src: local('Ballpark'),
		 local('IlMioFont'),
		 url('ballpark_weiner.woff') format('woff'), /* FF3.6 */
		 url('ballpark_weiner.ttf') format('truetype') /* Saf3+,Chrome,Opera10+ */
	;
}
</pre>
<p>&#8230;e usare i nostri font nelle dichiarazioni CSS consuete. In questo modo:</p>
<pre name="codice" class="css">

#ilMioSelettore {
	font:30px 'IlMioFont', Georgia, serif;
	color:#000;
}
</pre>
<ul class="browserList">
<li id="browserFirefox">Firefox 3.6+</li>
<li id="browserSafari">Safari3+</li>
<li id="browserChrome">Opera 10+</li>
<li id="browserChrome">Chrome</li>
<li id="browserIE8">IE6+</li>
</ul>
<div style="clear:both;"><!-- --></div>
<div class="resources">
<h3>Letture consigliate</h3>
<p><a href="http://blog.html.it/22/03/2010/trasformazioni-css-cross-browser-con-csssandpaper/" title="Trasformazioni CSS cross-browser con cssSandpaper" target="_blank">Trasformazioni CSS cross-browser con cssSandpaper</a><br />
<a class="hotLink" href="http://www.smashingmagazine.com/2010/04/28/css3-solutions-for-internet-explorer/" title="CSS3 Solutions for Internet Explorer" target="_blank">CSS3 Solutions for Internet Explorer</a><br />
<a href="http://westciv.com/tools/" title="Testare i css3" target="_blank">Testare i CSS3</a><br />
<a href="http://css3please.com/" title="CSS3 Please: generatore di CSS3" target="_blank">CSS3 Please: generatore di CSS3</a><br />
<a href="http://www.css3.info/" title=" info aggiornate sui CSS3" target="_blank">Tutte le info aggiornate sui CSS3</a><a href="http://net.tutsplus.com/tutorials/html-css-techniques/css-fundametals-css-3-transitions/" title="Elementi inline ed elementi block-level" target="_blank"><br />
CSS Fundamentals: CSS 3 Transitions</a><br />
<a href="http://www.noupe.com/jquery/5-css3-techniques-for-major-browsers-using-the-power-of-jquery.html" title="CSS3 e jQuery" target="_blank">Integrare CSS3 e jQuery</a><br />
<a href="http://www.webdesignerdepot.com/2009/08/5-css3-design-enhancements-that-you-can-use-today/" title="CSS3 oggi" target="_blank">Usare i CSS3 oggi</a></div>


<div class="shr-bookmarks shr-bookmarks-expand shr-bookmarks-bg-shr">
<ul class="socials">
		<li class="shr-facebook">
			<a href="http://www.facebook.com/share.php?v=4&amp;src=bm&amp;u=http://www.paitadesign.com/blog/css3-compatibilita-cross-browser-da-oggi/&amp;t=CSS3%3A+compatibilit%C3%A0+cross-browser...da+oggi%21" rel="nofollow" class="external" title="Condividi su Facebook">Condividi su Facebook</a>
		</li>
		<li class="shr-twitter">
			<a href="http://twitter.com/home?status=CSS3%3A+compatibilit%C3%A0+cross-browser...da+oggi%21+-+http://b2l.me/mmw8w&amp;source=shareaholic" rel="nofollow" class="external" title="Tweetalo!">Tweetalo!</a>
		</li>
		<li class="shr-delicious">
			<a href="http://delicious.com/post?url=http://www.paitadesign.com/blog/css3-compatibilita-cross-browser-da-oggi/&amp;title=CSS3%3A+compatibilit%C3%A0+cross-browser...da+oggi%21" rel="nofollow" class="external" title="Condividi su del.icio.us">Condividi su del.icio.us</a>
		</li>
		<li class="shr-mail">
			<a href="mailto:?subject=%22CSS3%3A%20compatibilit%C3%A0%20cross-browser...da%20oggi%21%22&amp;body=Link: http://www.paitadesign.com/blog/css3-compatibilita-cross-browser-da-oggi/ (inviato con shareaholic)%0D%0A%0D%0A----%0D%0A CSS3%20da%20oggi%3A%20testare%20le%20propriet%C3%A0%20CSS3%20su%20tutti%20i%20browser.%20Novit%C3%A0%20e%20anteprime." rel="nofollow" class="external" title="Vuoi segnalarlo via mail ad un amico?">Vuoi segnalarlo via mail ad un amico?</a>
		</li>
		<li class="shr-linkedin">
			<a href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http://www.paitadesign.com/blog/css3-compatibilita-cross-browser-da-oggi/&amp;title=CSS3%3A+compatibilit%C3%A0+cross-browser...da+oggi%21&amp;summary=CSS3%20da%20oggi%3A%20testare%20le%20propriet%C3%A0%20CSS3%20su%20tutti%20i%20browser.%20Novit%C3%A0%20e%20anteprime.&amp;source=paitadesignblog" rel="nofollow" class="external" title="Condividi su LinkedIn">Condividi su LinkedIn</a>
		</li>
		<li class="shr-gmail">
			<a href="https://mail.google.com/mail/?ui=2&amp;view=cm&amp;fs=1&amp;tf=1&amp;su=CSS3%3A+compatibilit%C3%A0+cross-browser...da+oggi%21&amp;body=Link: http://www.paitadesign.com/blog/css3-compatibilita-cross-browser-da-oggi/ (inviato con shareaholic)%0D%0A%0D%0A----%0D%0A CSS3%20da%20oggi%3A%20testare%20le%20propriet%C3%A0%20CSS3%20su%20tutti%20i%20browser.%20Novit%C3%A0%20e%20anteprime." rel="nofollow" class="external" title="Manda email con Gmail">Manda email con Gmail</a>
		</li>
		<li class="shr-comfeed">
			<a href="http://www.paitadesign.com/blog/css3-compatibilita-cross-browser-da-oggi/feed" rel="nofollow" class="external" title="Vuoi iscriverti ai commenti per questo post?">Vuoi iscriverti ai commenti per questo post?</a>
		</li>
</ul>
<div style="clear:both;"></div>
</div>



<p>Articoli correlati:</p><ol><li><a href='http://www.paitadesign.com/blog/css3-page-curl-effect-effetto-foto-piegata/' rel='bookmark' title='Permanent Link: CSS3: effetto foto piegata!'>CSS3: effetto foto piegata!</a></li>
<li><a href='http://www.paitadesign.com/blog/html5-css3-website-templates-per-iniziare-a-progettare-il-web-di-domani/' rel='bookmark' title='Permanent Link: 10+ HTML5-CSS3 Website Template: per iniziare a progettare il web di domani!'>10+ HTML5-CSS3 Website Template: per iniziare a progettare il web di domani!</a></li>
<li><a href='http://www.paitadesign.com/blog/css3-jquery-columns-layout-multi-colonne/' rel='bookmark' title='Permanent Link: CSS3 Columns e jQuery: layout multi-colonne ad altezza pari'>CSS3 Columns e jQuery: layout multi-colonne ad altezza pari</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.paitadesign.com/blog/css3-compatibilita-cross-browser-da-oggi/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

