<?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>TomStardust.com &#187; css</title>
	<atom:link href="http://www.tomstardust.com/archives/category/css/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.tomstardust.com</link>
	<description>Web Design blog: accessibilità, xhtml e css</description>
	<lastBuildDate>Thu, 05 Jan 2012 09:42:12 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Liste HTML e screen reader</title>
		<link>http://www.tomstardust.com/archives/liste-html-e-screen-reader/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=liste-html-e-screen-reader</link>
		<comments>http://www.tomstardust.com/archives/liste-html-e-screen-reader/#comments</comments>
		<pubDate>Mon, 19 Sep 2011 06:35:00 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[accessibilità]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[screen reader]]></category>

		<guid isPermaLink="false">http://www.tomstardust.com/?p=1857</guid>
		<description><![CDATA[<p>Non tutti i lettori di schermo annunciano la presenza di una lista se l'aspetto viene modificato tramite CSS.</p><p><div style="padding: 10px; background: #ff6; border: 1px solid #fd3; margin: 10px 0; color: #000;">Vuoi fino a <strong>15Gb</strong> gratis per il backup e la condivisione dei tuoi file? <a href="https://www.getdropbox.com/referrals/NTIwNzgwMDk">Registrati su Dropbox</a>, usando questo link ottieni <strong>250Mb</strong> in più!</div><br/><br/>Leggi il post originale: <a href="http://www.tomstardust.com/archives/liste-html-e-screen-reader/">Liste HTML e screen reader</a></p>]]></description>
			<content:encoded><![CDATA[<p>Gli <strong>screen reader</strong> sono uno strumento utile, per qualcuno indispensabile, ma a volte si comportano in maniera diversa da quello che ci si potrebbe aspettare.</p>
<p>Una di queste situazioni è stata descritta pochi giorni fa <a title="Screen readers, list items, and list-style: none" href="http://www.456bereastreet.com/archive/201109/screen_readers_list_items_and_list-stylenone/">su 456 Berea Street</a>, e riguarda le <strong>liste HTML</strong>: i classici tag <em>&lt;ol&gt;</em> e <em>&lt;ul&gt;</em>. Quando l&#8217;aspetto della lista viene nascosto tramite fogli di stile, molti screen reader non la annunciano come tale, anche se il codice HTML dice il contrario.</p>
<p><span id="more-1857"></span></p>
<p>Questo si verifica utilizzando gli attributi CSS:</p>
<pre><code>list-style-type: none</code></pre>
<p>oppure</p>
<pre><code>list-style: none</code></pre>
<p>In questi casi NVDA su Firefox, Orca e VoiceOver non dichiareranno la presenza di una lista. Non è un problema gravissimo, ma questo comportamento peggiora l&#8217;esperienza di navigazione degli utenti che usano uno screen reader. Non saranno infatti in grado di capire quando inizia o finisce un elemento.</p>
<p>Una informazione del genere ovviamente va valutata a seconda delle situazioni e del target di utenti: nessuno vi impedisce di usare <em>list-style: none</em>, ma se lavorate su un sito dove tenete all&#8217;accessibilità, considerate l&#8217;ipotesi di mostrare le liste come tali, senza ricorrere a immagini in background per i puntatori o stratagemmi simili.</p>
<p>Se vi interessa approfondire l&#8217;argomento screen reader e volete testare il vostro sito, trovate altre informazioni utili in questo post: <a href="http://www.tomstardust.com/archives/uno-screen-reader-per-i-test/">Uno screen reader per i test</a>.</p>
<p><div style="padding: 10px; background: #ff6; border: 1px solid #fd3; margin: 10px 0; color: #000;">Vuoi fino a <strong>15Gb</strong> gratis per il backup e la condivisione dei tuoi file? <a href="https://www.getdropbox.com/referrals/NTIwNzgwMDk">Registrati su Dropbox</a>, usando questo link ottieni <strong>250Mb</strong> in più!</div><br/><br/>Leggi il post originale: <a href="http://www.tomstardust.com/archives/liste-html-e-screen-reader/">Liste HTML e screen reader</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.tomstardust.com/archives/liste-html-e-screen-reader/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Quando usare !important nei CSS</title>
		<link>http://www.tomstardust.com/archives/quando-usare-important-nei-css/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=quando-usare-important-nei-css</link>
		<comments>http://www.tomstardust.com/archives/quando-usare-important-nei-css/#comments</comments>
		<pubDate>Mon, 18 Jul 2011 06:55:03 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[css]]></category>
		<category><![CDATA[web design]]></category>

		<guid isPermaLink="false">http://www.tomstardust.com/?p=1833</guid>
		<description><![CDATA[<p>Ha senso utilizzare !important in un foglio di stile? La risposta è no, con rare eccezioni.</p><p><div style="padding: 10px; background: #ff6; border: 1px solid #fd3; margin: 10px 0; color: #000;">Vuoi fino a <strong>15Gb</strong> gratis per il backup e la condivisione dei tuoi file? <a href="https://www.getdropbox.com/referrals/NTIwNzgwMDk">Registrati su Dropbox</a>, usando questo link ottieni <strong>250Mb</strong> in più!</div><br/><br/>Leggi il post originale: <a href="http://www.tomstardust.com/archives/quando-usare-important-nei-css/">Quando usare !important nei CSS</a></p>]]></description>
			<content:encoded><![CDATA[<p>L&#8217;uso di <em>!important</em> nei CSS è la principale causa di frustrazione quando si lavora su un sito, soprattutto se ereditato da altri sviluppatori.</p>
<p>Infatti se all&#8217;interno di un CSS ci sono delle regole contrassegnate con <em>!important</em> e questi valori devono essere modificati su dei nuovi elementi, non ci sono molte soluzioni. Le principali sono due:</p>
<ul>
<li>stravolgere il foglio di stile</li>
<li>entrare in un circolo vizioso aggiungendo nuove regole con <em>!important</em>.</li>
</ul>
<p>Basta capire questo per rendersi conto di come sia sempre meglio evitarne l&#8217;uso<em></em>. Mi era capitato anche in passato di sfiorare l&#8217;argomento <a title="CSS design e standard di lavoro" href="http://www.tomstardust.com/archives/bbc-css-design/">parlando degli standard del sito della BBC</a>, dove era appunto proibito agli sviluppatori di utilizzare questa regola.</p>
<p><span id="more-1833"></span></p>
<p>Ma quali sono le alternative? Prima di tutto <strong>pensare fin da subito</strong> a come dovrà essere organizzato il foglio di stile. Scrivere regole generiche non aiuta e molto spesso è il motivo per cui si viene tentati dall&#8217;utilizzo di <em>!important</em>.</p>
<p>Un link ad esempio avrà una sua definizione generica all&#8217;inizio del CSS:</p>
<pre><code>a {...}</code></pre>
<p>Ma unire a questo qualcosa come</p>
<pre><code>#content a {...}</code></pre>
<p>&#8230;sarà fonte di problemi dopo poco tempo, perché è una definizione troppo generica per non richiedere nuovi interventi. Per evitarlo, la cosa migliore è appoggiarsi sempre a selettori ben specifici, a seconda dell&#8217;area del sito.</p>
<p>In un blog potrebbero esserci ad esempio vari <em>div</em> contenitori all&#8217;interno dei post, con cui differenziare lo stile dei link:</p>
<pre><code>#content .post_header a {...}
#content .post a {...}</code></pre>
<p>O sulla sidebar invece di un generico</p>
<pre><code>#sidebar a {...}</code></pre>
<p>potrebbero essere definite delle aree precise come sui temi WordPress:</p>
<pre><code>.widget a {...}</code></pre>
<h3>Eccezioni</h3>
<p>Uno dei rari casi in cui l&#8217;uso di <em>!important </em>può avere senso è quando sono presenti elementi specifici che devono apparire uguali in qualsiasi punto del sito. Non sto parlando di bottoni e riquadri (che potrebbero sempre avere delle varianti), ma ad esempio di indicazioni di stato come i messaggi di errore.</p>
<p>Contrassegnare una classe <em>.error</em> nel seguente modo potrebbe essere l&#8217;unica ragione per tollerarne l&#8217;uso:</p>
<pre><code>.error {color: #f00 !important;}</code></pre>
<p>Se volete leggere anche un&#8217;opinione autorevole a riguardo, vi consiglio di dare un&#8217;occhiata al post <a href="http://css-tricks.com/9462-when-using-important-is-the-right-choice/">When using !important is the right choice</a> su CSS Tricks, e di leggere attentamente <a href="http://css-tricks.com/9462-when-using-important-is-the-right-choice/#comment-94656">il commento di Jonathan Snook</a> in risposta agli esempi citati dall&#8217;autore.</p>
<p><div style="padding: 10px; background: #ff6; border: 1px solid #fd3; margin: 10px 0; color: #000;">Vuoi fino a <strong>15Gb</strong> gratis per il backup e la condivisione dei tuoi file? <a href="https://www.getdropbox.com/referrals/NTIwNzgwMDk">Registrati su Dropbox</a>, usando questo link ottieni <strong>250Mb</strong> in più!</div><br/><br/>Leggi il post originale: <a href="http://www.tomstardust.com/archives/quando-usare-important-nei-css/">Quando usare !important nei CSS</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.tomstardust.com/archives/quando-usare-important-nei-css/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>CSS font-size e l&#8217;unità di misura rem</title>
		<link>http://www.tomstardust.com/archives/css-font-size-e-lunita-di-misura-rem/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=css-font-size-e-lunita-di-misura-rem</link>
		<comments>http://www.tomstardust.com/archives/css-font-size-e-lunita-di-misura-rem/#comments</comments>
		<pubDate>Tue, 10 May 2011 06:30:25 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[accessibilità]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[font]]></category>

		<guid isPermaLink="false">http://www.tomstardust.com/?p=1782</guid>
		<description><![CDATA[<p>I CSS3 introducono una nuova unità di misura priva dei problemi di em e px.</p><p><div style="padding: 10px; background: #ff6; border: 1px solid #fd3; margin: 10px 0; color: #000;">Vuoi fino a <strong>15Gb</strong> gratis per il backup e la condivisione dei tuoi file? <a href="https://www.getdropbox.com/referrals/NTIwNzgwMDk">Registrati su Dropbox</a>, usando questo link ottieni <strong>250Mb</strong> in più!</div><br/><br/>Leggi il post originale: <a href="http://www.tomstardust.com/archives/css-font-size-e-lunita-di-misura-rem/">CSS font-size e l&#8217;unità di misura rem</a></p>]]></description>
			<content:encoded><![CDATA[<p><img class="size-medium wp-image-1791" title="CSS" src="http://www.tomstardust.com/wp-content/uploads/2011/05/css-475x316.jpg" alt="" width="475" height="316" /></p>
<p>Esistono vari modi di ridimensionare il testo di una pagina web tramite CSS: in pixel, em e in percentuale.</p>
<p>Tramite <a href="http://snook.ca/archives/html_and_css/font-size-with-rem">un post di Jonathan Snook</a> ho scoperto l&#8217;esistenza di una nuova unità di misura introdotta con i <strong>CSS3</strong>, chiamata <em>rem</em>. Questa unità si comporta in maniera molto simile a <em>em</em>, senza ereditarne i punti deboli.</p>
<p><span id="more-1782"></span></p>
<h3>Font-size con em</h3>
<p>Prima di parlare delle novità mi sembra giusto riprendere in mano la tecnica che potrebbe essere sostituita.</p>
<p>Utilizzare l&#8217;unità di misura <em>em </em>permette già ora di superare un problema di tutte le versioni di Internet Explorer (compresa la 9): l&#8217;impossibilità di ridimensionare il testo quando il font-size è espresso in <em>px</em>. Con <em>em </em>questo inconveniente non esiste, basta usare una formula di questo tipo:</p>
<pre><code>body { font-size:62.5%; }
h1 { font-size: 2em; } /* =20px */
p  { font-size: 1.4em; } /* =14px solo se non all'interno di una lista */
li { font-size: 1.4em; } /* =14px solo sul primo livello */</code></pre>
<p>Il problema però è che <strong>em è un&#8217;unità di misura relativa all&#8217;elemento contenitore</strong>. Se nella pagina appare un paragrafo all&#8217;interno di un elemento li oppure ci sono due o più liste annidate, gli elementi interni aumentano progressivamente di dimensione. Una lista contenuta in un&#8217;altra lista in questo caso non sarebbe più 14px ma 20px. Aumentando di un altro livello la dimensione del testo diventerebbe 27px.</p>
<p>Il problema può essere evitato dichiarando per ogni livello il font-size originale, ma è un metodo scomodo e poco mantenibile.</p>
<h3>Font-size con rem</h3>
<p>L&#8217;unità di misura <em>rem </em>si comporta come <em>em</em>, ma fa riferimento all&#8217;elemento alla radice del documento. <em>Rem </em>infatti è la sigla per <em>&#8220;root em&#8221;</em>.</p>
<p>La nuova formula diventa:</p>
<pre><code>html { font-size:62.5%; }
h1 { font-size: 2rem; } /* =20px */
p  { font-size: 1.4rem; } /* =14px */
li { font-size: 1.4rem; } /* =14px */</code></pre>
<p>In questo modo tutti i problemi sono risolti, non esistono differenze sugli elementi annidati e il testo può essere ridimensionato senza problemi anche su IE.</p>
<h3>Rem e il supporto dei browser</h3>
<p>Il supporto di questa unità di misura è migliore di quanto pensassi: viene riconosciuta da tutte le ultime versioni dei browser, escluso Opera. Per non avere problemi su questo browser e garantire il supporto anche alle versioni precedenti di IE è sufficiente indicare un fallback nei CSS:</p>
<pre><code>html { font-size:62.5%; }
h1 { font-size: 20px; font-size: 2rem; } /* =20px */
p  { font-size: 14px; font-size: 1.4rem; } /* =14px */
li { font-size: 14px; font-size: 1.4rem; } /* =14px */</code></pre>
<p>Cosa ne pensate? Io inizierò a sperimentare questa tecnica nei miei prossimi progetti, e se non emergeranno particolari problemi penso proprio che potrebbe diventare uno standard. E&#8217; più immediato utilizzare px come unità di misura, ma se tenete all&#8217;accessibilità dei vostri lavori basta veramente poco per fare la differenza.</p>
<p><em>[Foto di Paul Pirosca - <a href="http://it.fotolia.com/">Fotolia.com</a>]</em></p>
<p><div style="padding: 10px; background: #ff6; border: 1px solid #fd3; margin: 10px 0; color: #000;">Vuoi fino a <strong>15Gb</strong> gratis per il backup e la condivisione dei tuoi file? <a href="https://www.getdropbox.com/referrals/NTIwNzgwMDk">Registrati su Dropbox</a>, usando questo link ottieni <strong>250Mb</strong> in più!</div><br/><br/>Leggi il post originale: <a href="http://www.tomstardust.com/archives/css-font-size-e-lunita-di-misura-rem/">CSS font-size e l&#8217;unità di misura rem</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.tomstardust.com/archives/css-font-size-e-lunita-di-misura-rem/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>CSS3: come usare le transizioni</title>
		<link>http://www.tomstardust.com/archives/css3-come-usare-le-transizioni/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=css3-come-usare-le-transizioni</link>
		<comments>http://www.tomstardust.com/archives/css3-come-usare-le-transizioni/#comments</comments>
		<pubDate>Mon, 31 Jan 2011 07:50:36 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[css]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[css3 transitions]]></category>

		<guid isPermaLink="false">http://www.tomstardust.com/?p=1625</guid>
		<description><![CDATA[<p>Una guida sulle CSS3 transitions, disponibili già oggi sui browser più evoluti.</p><p><div style="padding: 10px; background: #ff6; border: 1px solid #fd3; margin: 10px 0; color: #000;">Vuoi fino a <strong>15Gb</strong> gratis per il backup e la condivisione dei tuoi file? <a href="https://www.getdropbox.com/referrals/NTIwNzgwMDk">Registrati su Dropbox</a>, usando questo link ottieni <strong>250Mb</strong> in più!</div><br/><br/>Leggi il post originale: <a href="http://www.tomstardust.com/archives/css3-come-usare-le-transizioni/">CSS3: come usare le transizioni</a></p>]]></description>
			<content:encoded><![CDATA[<p>Leggendo <a href="http://books.alistapart.com/products/css3-for-web-designers"><em>CSS3 for Web Designers</em></a> di Dan Cederholm ho avuto modo di approfondire alcuni moduli che pur non essendo ancora degli standard possono essere già utilizzati in maniera efficace.</p>
<p>La parte che riguarda le <strong>CSS3 transitions</strong> è una delle più interessanti, perché consente di creare semplici effetti grafici con poche righe di codice all&#8217;interno del foglio di stile. E&#8217; assurdo installare interi framework JavaScript per un banale effetto dissolvenza: adesso è possibile evitarlo, con alcuni compromessi.</p>
<p><span id="more-1625"></span>A cosa servono le transizioni dei CSS3?</p>
<blockquote><p>CSS Transitions allows property changes in CSS values to occur smoothly    over a specified duration.</p></blockquote>
<p>Questa è la definizione del <a title="CSS3 Transitions - W3C" href="http://www.w3.org/TR/css3-transitions/">W3C</a>: semplice e concisa (strano, vista la fonte!). Consentono di controllare il modo in cui cambiano certe proprietà CSS, gestendo la durata della transizione.</p>
<h3>Transizioni CSS in pratica</h3>
<p>Il modo più semplice per imparare ad usarle è guardare un esempio:</p>
<pre><code>#test a {
  background: #333;
  color: #fff;
  -webkit-transition: all .3s ease;
  -moz-transition: all .3s ease;
  -o-transition: all .3s ease;
  transition: all .3s ease;
}
#test a:hover, #test a:focus {
  background: #b00;
}</code></pre>
<p>Questo codice applicato ad un semplice link consente di far sfumare il colore di sfondo al <em>mouseover</em> ed al <em>focus</em>. La proprietà deve essere ancora utilizzata con le stringhe proprietarie di ciascun browser, ma inserire la definizione standard alla fine consente di avere un <strong>codice già pronto</strong> per quando questa funzionalità diventerà ufficiale.</p>
<h3>Sintassi</h3>
<p>La forma sintetica, quella che ho utilizzato anche io nell&#8217;esempio, è quella più comoda. I valori sono nell&#8217;ordine:</p>
<ol>
<li><strong>la proprietà</strong> a cui applicare la transizione (<em>all </em>indica che la transizione si applica a tutte: colore, sfondo, ecc.)</li>
<li><strong>la durata</strong> in secondi della transizione</li>
<li>il modo in cui la transizione <strong>cambia nel tempo</strong>. Per capire le differenze la soluzione migliore è provare i valori possibili, che sono:
<ul>
<li>ease (default)</li>
<li>linear</li>
<li>ease-in</li>
<li>ease-out</li>
<li>ease-in-out</li>
<li>cubic-bezier (a cui vanno passati quattro valori da 0 a 1, ad esempio cubic-bezier(0,1,1,0))</li>
</ul>
</li>
<li><strong>il ritardo</strong> espresso in secondi (facoltativo)</li>
</ol>
<p>E&#8217; possibile anche scomporre l&#8217;espressione per applicare la transizione solo a determinate proprietà o assegnare tempi diversi. Ad esempio il codice precedente potrebbe essere scritto:</p>
<pre><code>#test a {
  background: #333;
  color: #fff;
  transition-property: background;
  transition-duration: .3s;
  transition-timing-function: ease;
}
#test a:hover, #test a:focus {
  background: #b00;
}</code></pre>
<p>Non ho ripetuto le stringhe proprietarie per i vari browser, ma credo che il concetto sia chiaro: la maggior parte delle volte comunque troverete utile la formula <em>short-hand</em> precedente unita alla proprietà <em>all</em>.</p>
<h3>Compatibilità con i browser esistenti</h3>
<p>Comprese le transizioni dei CSS3, resta solo da capire se sia realmente possibile utilizzarle <strong>oggi</strong>. La risposta è sì, perché portano dei miglioramenti visibili sui browser più evoluti, che comunque non compromettono alcuna funzionalità e rendono più piacevole la navigazione. Meglio non esagerare comunque, non lasciatevi prendere la mano rendendo il vostro sito un incubo animato.</p>
<p>Nel momento in cui scrivo l&#8217;articolo, le CSS3 transitions sono supportate dalle ultime versioni di:</p>
<ul>
<li>Chrome</li>
<li>Safari</li>
<li>Opera</li>
</ul>
<p>Saranno implementate a breve anche da Firefox 4, la cui data di uscita è prevista per il mese di Marzo.</p>
<p>Lato Microsoft saranno introdotte da Internet Explorer 9: niente da fare per tutti i pc con Windows XP installato, su cui IE9 non sarà disponibile.</p>
<h3>Curiosità sulle transizioni del background</h3>
<p>Un dettaglio interessante riguarda i cambiamenti dell&#8217;immagine di sfondo di un elemento. Se al mouseover volete cambiare il background utilizzando uno sprite CSS ed una transizione, l&#8217;immagine non avrà un effetto dissolvenza, ma scivolerà dalla posizione :link a quella :hover (come è logico che sia: nel foglio di stile viene semplicemente cambiata la posizione senza dichiarare una nuova immagine).</p>
<p>Questo può dare luogo ad un effetto indesiderato, ma può essere sfruttato anche a vostro vantaggio usando come immagine di sfondo un gradiente lineare, che al mouseover scivolerà progressivamente verso una tonalità differente.</p>
<h3>Risorse utili</h3>
<ul>
<li><a href="http://www.alistapart.com/articles/understanding-css3-transitions/">Understanding CSS3 Transitions</a> di Dan Cederholm</li>
<li><a href="http://www.italianalistapart.com/articoli/32-numero-19-30-novembre-2010/122-capire-le-css3-transitions">Capire le CSS3 Transitions</a>, traduzione italiana</li>
</ul>
<p><div style="padding: 10px; background: #ff6; border: 1px solid #fd3; margin: 10px 0; color: #000;">Vuoi fino a <strong>15Gb</strong> gratis per il backup e la condivisione dei tuoi file? <a href="https://www.getdropbox.com/referrals/NTIwNzgwMDk">Registrati su Dropbox</a>, usando questo link ottieni <strong>250Mb</strong> in più!</div><br/><br/>Leggi il post originale: <a href="http://www.tomstardust.com/archives/css3-come-usare-le-transizioni/">CSS3: come usare le transizioni</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.tomstardust.com/archives/css3-come-usare-le-transizioni/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>CSS design e standard di lavoro</title>
		<link>http://www.tomstardust.com/archives/bbc-css-design/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=bbc-css-design</link>
		<comments>http://www.tomstardust.com/archives/bbc-css-design/#comments</comments>
		<pubDate>Wed, 17 Nov 2010 07:54:08 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[css]]></category>
		<category><![CDATA[web design]]></category>
		<category><![CDATA[BBC]]></category>
		<category><![CDATA[web standards]]></category>

		<guid isPermaLink="false">http://www.tomstardust.com/?p=1494</guid>
		<description><![CDATA[<p>Le linee guida della BBC per i "future media" includono diverse raccomandazioni sulla scrittura dei CSS. Simili pratiche sono solo inutili complicazioni?</p><p><div style="padding: 10px; background: #ff6; border: 1px solid #fd3; margin: 10px 0; color: #000;">Vuoi fino a <strong>15Gb</strong> gratis per il backup e la condivisione dei tuoi file? <a href="https://www.getdropbox.com/referrals/NTIwNzgwMDk">Registrati su Dropbox</a>, usando questo link ottieni <strong>250Mb</strong> in più!</div><br/><br/>Leggi il post originale: <a href="http://www.tomstardust.com/archives/bbc-css-design/">CSS design e standard di lavoro</a></p>]]></description>
			<content:encoded><![CDATA[<p>Uno dei siti <em>corporate </em>che presta più attenzione ai dettagli è quello della <a href="http://www.bbc.co.uk/"><strong>BBC</strong></a>: all&#8217;apparenza semplice ed ordinato nonostante i numerosi contenuti, si basa su molte pagine di <a href="http://www.bbc.co.uk/guidelines/futuremedia/technical/">specifiche tecniche e linee guida</a> che devono essere rispettate dai suoi sviluppatori.</p>
<p style="text-align: center;"><img class="size-medium wp-image-1496 aligncenter" title="BBC homepage" src="http://www.tomstardust.com/wp-content/uploads/2010/11/bbc-homepage-475x235.jpg" alt="" width="475" height="235" /></p>
<p><span id="more-1494"></span></p>
<h3>CSS &#8211; Le linee guida</h3>
<p>Analizzando soprattutto gli <strong>standard relativi alla scrittura dei CSS</strong>, ho trovato vari spunti interessanti che potrebbero essere presi in considerazione su molti progetti:</p>
<h4>Principi generali</h4>
<ul>
<li>Le pagine devono essere <em>usabili e leggibili anche senza CSS</em></li>
<li>I CSS devono essere <em>validi </em>secondo gli standard del W3C, a meno che non sia necessario soprassedere per rispettare le linee guida interne</li>
<li>Se un browser non supporta determinate proprietà, deve essere messa in atto la <em>graceful degradation</em> (il sito continua a essere leggibile anche utilizzando software e browser obsoleti)</li>
<li>L&#8217;uso di <em>!important</em> è proibito</li>
</ul>
<h4>Uso dei file CSS</h4>
<ul>
<li>I file devono avere estensione <em>.css</em> ed essere tutti nella stessa directory</li>
<li>Le dimensioni dei CSS devono essere ridotte al minimo indispensabile</li>
<li>I CSS vanno inseriti usando <em>&lt;link&gt;</em> nella sezione <em>&lt;head&gt;</em> del documento, e <em>@import</em> non può essere usato</li>
<li>Niente stili <em>inline</em></li>
</ul>
<h4>Tipografia</h4>
<ul>
<li>Deve essere sempre specificata una <em>font-family generica</em> come fallback (es. serif, sans-serif, monospace)</li>
<li>Le dimensioni del testo non devono essere specificate in px o pt, unità di misura non ridimensionabili su Internet Explorer (anche nelle ultime versioni)</li>
</ul>
<h4>Varie</h4>
<ul>
<li>Gli stili sui link vanno assegnati secondo il metodo <a href="http://meyerweb.com/eric/css/link-specificity.html">LVHA</a> (nell&#8217;ordine :link, :visited, :hover, :active)</li>
<li>Deve sempre essere specificato un colore di sfondo del body, anche se bianco</li>
<li>Quando viene specificato un colore per il testo, deve sempre essere indicato un colore opportuno per lo sfondo</li>
</ul>
<h3>A cosa servono le linee guida?</h3>
<p>Sulle motivazioni tecniche dietro queste raccomandazioni c&#8217;è un&#8217;ampia spiegazione <a href="http://www.bbc.co.uk/guidelines/futuremedia/technical/css.shtml">nel documento</a> relativo, ma la questione per me è un&#8217;altra: serve davvero a qualcosa stabilire un set di regole così rigorose? Considerate che queste sono le linee guida più importanti sulla scrittura dei <strong>CSS</strong>, ma ne esistono altrettante per <em>HTML</em>, <em>JavaScript</em>, elementi audio-video, uso di <em>cookie</em>, design dei <em>database</em>, ecc.</p>
<p>Potrebbe sembrare una mole enorme di informazioni inutili, ma per un sito così strutturato e su cui lavorano più persone contemporaneamente non è possibile pensare a soluzioni diverse. La novità interessante, se vogliamo definirla così, è che le linee guida sono pubbliche e liberamente consultabili.</p>
<p>Vi è mai capitato di lavorare in progetti di grandi dimensioni? Non avere delle linee guida porta in breve tempo ad avere un codice impossibile da mantenere. Pensando in particolare ai fogli di stile diventa facilissimo scrivere regole duplicate ed aggiungere proprietà inutili.</p>
<p>C&#8217;è però <strong>una difficoltà</strong> da considerare: far rispettare le linee guida.</p>
<p>Molto spesso capita di avere documentazioni dettagliate che nessuno legge, e qui la responsabilità va suddivisa tra i singoli sviluppatori ed i loro superiori. E&#8217; impensabile comunque che in questi casi ci sia sempre un controllore: la vera svolta si ha solamente quando tutti riescono a comprendere l&#8217;utilità di lavorare seguendo degli standard. Se per fare una minima correzione serve mezza giornata di lavoro per capire dove intervenire, significa che qualcosa non funziona.</p>
<p>Avete esperienze con progetti caotici da raccontare? I commenti sono a vostra disposizione.</p>
<p><div style="padding: 10px; background: #ff6; border: 1px solid #fd3; margin: 10px 0; color: #000;">Vuoi fino a <strong>15Gb</strong> gratis per il backup e la condivisione dei tuoi file? <a href="https://www.getdropbox.com/referrals/NTIwNzgwMDk">Registrati su Dropbox</a>, usando questo link ottieni <strong>250Mb</strong> in più!</div><br/><br/>Leggi il post originale: <a href="http://www.tomstardust.com/archives/bbc-css-design/">CSS design e standard di lavoro</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.tomstardust.com/archives/bbc-css-design/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>IE9 ed il supporto dei CSS3</title>
		<link>http://www.tomstardust.com/archives/ie9-ed-il-supporto-dei-css3/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=ie9-ed-il-supporto-dei-css3</link>
		<comments>http://www.tomstardust.com/archives/ie9-ed-il-supporto-dei-css3/#comments</comments>
		<pubDate>Mon, 05 Jul 2010 06:51:09 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[browser]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[ie9]]></category>
		<category><![CDATA[internet explorer]]></category>

		<guid isPermaLink="false">http://www.tomstardust.com/?p=1307</guid>
		<description><![CDATA[<p>IE9 potrà sfruttare tutti i selettori dei CSS3: solo Opera presenta ancora dei problemi.</p><p><div style="padding: 10px; background: #ff6; border: 1px solid #fd3; margin: 10px 0; color: #000;">Vuoi fino a <strong>15Gb</strong> gratis per il backup e la condivisione dei tuoi file? <a href="https://www.getdropbox.com/referrals/NTIwNzgwMDk">Registrati su Dropbox</a>, usando questo link ottieni <strong>250Mb</strong> in più!</div><br/><br/>Leggi il post originale: <a href="http://www.tomstardust.com/archives/ie9-ed-il-supporto-dei-css3/">IE9 ed il supporto dei CSS3</a></p>]]></description>
			<content:encoded><![CDATA[<p><img class="right size-full wp-image-649" title="Internet Explorer: icona" src="http://www.tomstardust.com/wp-content/uploads/2009/03/internet-explorer-icon1.jpg" alt="" width="125" height="125" />La novità degli ultimi giorni riguarda <strong>Internet Explorer 9</strong>: la futura versione del browser Microsoft supporta infatti tutti i selettori dei <em>CSS3</em>.</p>
<p>Incredibile ma vero, nella <a title="CSS - Contents and compatibility" href="http://www.quirksmode.org/css/contents.html">tabella di compatibilità</a> preparata in maniera eccellente da <em>Quirksmode</em>, IE9 entra infatti nel gruppo dei browser che possono utilizzare tutti i selettori più utili, compresi anche alcuni dei CSS 2.1.</p>
<h3>I selettori supportati da Internet Explorer 9</h3>
<h4>CSS 2.1</h4>
<ul>
<li>:before e :after</li>
<li>:first-child</li>
<li>:focus</li>
</ul>
<h4>CSS 3</h4>
<ul>
<li>:empty</li>
<li>:enabled, :disabled e :checked</li>
<li>:first-of-type</li>
<li>:last-child</li>
<li>:last-of-type</li>
<li>:not</li>
<li>:nth-child()</li>
<li>:nth-last-child()</li>
<li>:nth-last-of-type()</li>
<li>:nth-of-type()</li>
<li>:only-child</li>
<li>:only-of-type</li>
<li>:root</li>
<li>::selection</li>
<li>:target</li>
</ul>
<p>In questa lista sono esclusi alcuni selettori che sono già supportati dalle versioni precedenti di IE.</p>
<p>Interessante notare che mentre le ultime versioni di Firefox, Safari e Chrome non hanno problemi, adesso è Opera l&#8217;unico browser ad essere rimasto indietro, con delle difficoltà di interpretazione dei selettori <em>:nth-child()</em> ed <em>:nth-of-type()</em>. Opera infatti non riesce ancora a capire il funzionamento di queste regole, utili ad esempio per <a title="nth-child pseudo class - CSS3 selectors" href="http://www.w3.org/TR/css3-selectors/#nth-child-pseudo">evidenziare gli elementi pari di una lista</a>, o <a title="nth-of-type pseudo-class - CSS3 selectors" href="http://www.w3.org/TR/css3-selectors/#nth-of-type-pseudo">dare alternativamente a delle immagini <em>float:right</em> e <em>float:left</em></a>.</p>
<h3>Implicazioni future</h3>
<p>Questo ovviamente non significa che con l&#8217;uscita di Explorer 9 i selettori dei CSS3 potranno essere usati senza problemi (le versioni precedenti ci faranno compagnia per molto tempo), ma ci stiamo avviando verso un futuro più semplice per gli sviluppatori. L&#8217;uso di queste regole infatti consentirà di eliminare <em>id</em> e <em>classi </em>inutili dall&#8217;HTML, alleggerendo la struttura delle pagine.</p>
<p>Per il momento non resta che sperimentare ed affidarsi se necessario a soluzioni come <a title="CSS3 pseudo-class selector emulation for Internet Explorer 5.5 - 8" href="http://www.keithclark.co.uk/labs/ie-css3/">ie-css3.js</a>, aspettando la scomparsa dei browser più obsoleti.</p>
<p><div style="padding: 10px; background: #ff6; border: 1px solid #fd3; margin: 10px 0; color: #000;">Vuoi fino a <strong>15Gb</strong> gratis per il backup e la condivisione dei tuoi file? <a href="https://www.getdropbox.com/referrals/NTIwNzgwMDk">Registrati su Dropbox</a>, usando questo link ottieni <strong>250Mb</strong> in più!</div><br/><br/>Leggi il post originale: <a href="http://www.tomstardust.com/archives/ie9-ed-il-supporto-dei-css3/">IE9 ed il supporto dei CSS3</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.tomstardust.com/archives/ie9-ed-il-supporto-dei-css3/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Ombre cross-browser con i CSS, senza immagini</title>
		<link>http://www.tomstardust.com/archives/ombre-cross-browser-con-i-css-senza-immagini/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=ombre-cross-browser-con-i-css-senza-immagini</link>
		<comments>http://www.tomstardust.com/archives/ombre-cross-browser-con-i-css-senza-immagini/#comments</comments>
		<pubDate>Fri, 13 Nov 2009 06:00:46 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[css]]></category>
		<category><![CDATA[web design]]></category>
		<category><![CDATA[box-shadow]]></category>
		<category><![CDATA[css3]]></category>

		<guid isPermaLink="false">http://www.tomstardust.com/?p=984</guid>
		<description><![CDATA[<p>Come sfruttare la proprietà box-shadow dei CSS3 ed ottenere risultati simili anche su Internet Explorer.</p><p><div style="padding: 10px; background: #ff6; border: 1px solid #fd3; margin: 10px 0; color: #000;">Vuoi fino a <strong>15Gb</strong> gratis per il backup e la condivisione dei tuoi file? <a href="https://www.getdropbox.com/referrals/NTIwNzgwMDk">Registrati su Dropbox</a>, usando questo link ottieni <strong>250Mb</strong> in più!</div><br/><br/>Leggi il post originale: <a href="http://www.tomstardust.com/archives/ombre-cross-browser-con-i-css-senza-immagini/">Ombre cross-browser con i CSS, senza immagini</a></p>]]></description>
			<content:encoded><![CDATA[<p>La proprietà <em>box-shadow</em> (CSS3) permette di applicare ombre ad elementi contenitori di tipo block. Funziona in maniera simile alla proprietà <a title="Text Shadow: effetto ombra sul testo con i CSS" href="http://www.tomstardust.com/archives/text-shadow-effetto-ombra-sul-testo-con-i-css/">text-shadow</a>, ma il W3C al momento <a href="http://www.w3.org/TR/css3-background/#the-box-shadow">ne ha sospeso l&#8217;approfondimento</a> per studiarne l&#8217;implementazione in maniera più approfondita.</p>
<h3>Come funziona box-shadow?</h3>
<p>La proprietà può essere utilizzata su <em>Firefox 3.5</em> e sui browser basati su <em>webkit</em> (Safari e Chrome) con i soliti prefissi:</p>
<ul>
<li><em>-moz-box-shadow</em> per Firefox</li>
<li><em>-webkit-box-shadow</em> per Safari e Chrome</li>
</ul>
<p>L&#8217;espressione è semplicemente:</p>
<p><code>box-shadow: 5px 5px 10px #000;</code></p>
<p>dove i parametri sono nell&#8217;ordine:</p>
<ul>
<li> la distanza dell&#8217;ombra in orizzontale ed in verticale</li>
<li>il raggio</li>
<li>il colore</li>
</ul>
<p>Ho notato che tra i browser webkit la resa è migliore su Safari: Chrome pur visualizzando l&#8217;ombra ha qualche problema con gli angoli ed il loro arrotondamento.</p>
<h3>La soluzione per Internet Explorer</h3>
<p>La cosa interessante, scoperta per caso <a title="Cross-browser drop shadows using pure CSS" href="http://nick-dunn.co.uk/article/cross-browser-drop-shadows-using-pure-css/">sul blog di Nick Dunn</a>, è che con alcuni hack è già possibile sfruttare questa proprietà per ottenere un risultato valido anche su Internet Explorer.</p>
<p>Esistono infatti alcuni filtri proprietari della Microsoft che in queste circostanze sono l&#8217;unica soluzione possibile. Era già successo per i <em>.png</em> trasparenti su IE6, e la situazione è analoga anche in questo caso. Combinando i filtri <em><a href="http://msdn.microsoft.com/en-us/library/ms532995%28VS.85%29.aspx">Glow</a></em> e <em><a href="http://msdn.microsoft.com/en-us/library/ms533086%28VS.85%29.aspx">Shadow</a></em>, o ancora meglio utilizzando solamente <em>Shadow</em> è possibile ottenere un&#8217;ombra molto simile su tutte le versioni di Explorer, a partire dalla 5.5.</p>
<p>Il codice necessario è il seguente, da inserire in un commento condizionale:</p>
<pre><code>filter:
    progid:DXImageTransform.Microsoft.Shadow(color=#eeeeee,direction=0,strength=7)
    progid:DXImageTransform.Microsoft.Shadow(color=#dddddd,direction=90,strength=10)
    progid:DXImageTransform.Microsoft.Shadow(color=#dddddd,direction=180,strength=10)
    progid:DXImageTransform.Microsoft.Shadow(color=#eeeeee,direction=270,strength=7);</code></pre>
<p><em>Color</em> e <em>strenght </em>dell&#8217;ombra possono ovviamente essere modificati secondo le necessità.</p>
<h3>Demo</h3>
<p><img class="right size-full wp-image-987" title="box-shadow" src="http://www.tomstardust.com/wp-content/uploads/2009/11/box-shadow.png" alt="box-shadow" width="272" height="156" /></p>
<p>Ho realizzato <a href="http://www.tomstardust.com/box-shadow/">una pagina dimostrativa</a> di questo effetto.</p>
<p>Il risultato cambierà leggermente a seconda del browser utilizzato, ma resterà comunque coerente. La soluzione non è esente da difetti, ma è un buon compromesso per aggiungere dettagli in più ad un design senza appesantirlo con delle immagini. C&#8217;è anche da considerare che spesso è complicato dare un&#8217;ombra ad un contenitore, soprattutto se questo ha delle dimensioni variabili: l&#8217;unica soluzione è utilizzare del codice html superfluo o adottare questo metodo.</p>
<p>I difetti principali che ho riscontrato sono:</p>
<ul>
<li>CSS non valido</li>
<li>niente ombra su Firefox &lt; 3.5 e su Opera</li>
<li>uso di hack per Internet Explorer</li>
</ul>
<p>A voi la scelta se adottare questa soluzione: è una possibilità da tenere in considerazione, ma la sua efficacia è da valutare a seconda del progetto. Niente vieta comunque di adottare anche solo la soluzione per Firefox come <em>progressive enhancement</em>, offrendo un&#8217;esperienza migliore di navigazione ad alcuni utenti.</p>
<p><div style="padding: 10px; background: #ff6; border: 1px solid #fd3; margin: 10px 0; color: #000;">Vuoi fino a <strong>15Gb</strong> gratis per il backup e la condivisione dei tuoi file? <a href="https://www.getdropbox.com/referrals/NTIwNzgwMDk">Registrati su Dropbox</a>, usando questo link ottieni <strong>250Mb</strong> in più!</div><br/><br/>Leggi il post originale: <a href="http://www.tomstardust.com/archives/ombre-cross-browser-con-i-css-senza-immagini/">Ombre cross-browser con i CSS, senza immagini</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.tomstardust.com/archives/ombre-cross-browser-con-i-css-senza-immagini/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Link accessibili da tastiera</title>
		<link>http://www.tomstardust.com/archives/link-accessibili-da-tastiera/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=link-accessibili-da-tastiera</link>
		<comments>http://www.tomstardust.com/archives/link-accessibili-da-tastiera/#comments</comments>
		<pubDate>Thu, 29 Oct 2009 03:00:48 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[accessibilità]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[css reset]]></category>
		<category><![CDATA[link]]></category>

		<guid isPermaLink="false">http://www.tomstardust.com/?p=969</guid>
		<description><![CDATA[<p>L'importanza di mantenere l'outline sui link, anche utilizzando dei CSS di reset.</p><p><div style="padding: 10px; background: #ff6; border: 1px solid #fd3; margin: 10px 0; color: #000;">Vuoi fino a <strong>15Gb</strong> gratis per il backup e la condivisione dei tuoi file? <a href="https://www.getdropbox.com/referrals/NTIwNzgwMDk">Registrati su Dropbox</a>, usando questo link ottieni <strong>250Mb</strong> in più!</div><br/><br/>Leggi il post originale: <a href="http://www.tomstardust.com/archives/link-accessibili-da-tastiera/">Link accessibili da tastiera</a></p>]]></description>
			<content:encoded><![CDATA[<p><img class="right size-thumbnail wp-image-972" title="Apple Keyboard" src="http://www.tomstardust.com/wp-content/uploads/2009/10/apple-keyboard-by-alcomm-250x187.jpg" alt="Apple Keyboard" width="250" height="187" />Una pratica fin troppo diffusa, spesso derivata dall’uso di CSS di reset, è quella di eliminare l’<em>outline</em> dai link e dagli altri elementi attivi di una pagina per scopi puramente estetici, con poche righe di codice:</p>
<pre><code>:focus {
	outline: none;
}</code></pre>
<p>Potrà sembrare una soluzione elegante, ma ai fini dell’accessibilità di un sito è assolutamente sconsigliato, perchè senza <em>outline</em> diventa <strong>impossibile navigare tramite tastiera</strong>, o comunque con dispositivi diversi da un mouse.</p>
<p>Non pensate che riguardi solo una minoranza di utenti: sono tanti coloro che scorrono il contenuto di una pagina premendo il tasto <em>tab</em>. In molti ad esempio si spostano tra i campi di un <em>form</em> in questo modo: eliminando l’<em>outline</em> sul <em>focus</em> rendete il vostro sito inaccessibile.</p>
<p>Lo stesso Eric Meyer, autore di <a title="Eric Meyer CSS Reset" href="http://meyerweb.com/eric/tools/css/reset/">uno dei più famosi CSS Reset</a>, pur azzerando questo stile raccomanda di definirne altri per sostituirlo. Il mio consiglio è di lasciarlo inalterato per evitare problemi: perchè complicarsi la vita?</p>
<h3>Una soluzione alternativa</h3>
<p>A volte potrebbe comunque capitare di essere obbligati a modificare lo stile dei link, ad esempio su richiesta di un cliente particolarmente insistente. Un’alternativa in questi casi è lasciare il focus inalterato ed eliminare l’outline dallo stato active:</p>
<pre><code>a:active {
	outline: none;
}</code></pre>
<p>Così non apparirà il bordo tratteggiato al clic, ma la navigazione da tastiera resterà comunque possibile. Non è una soluzione ottimale, ma in situazioni particolari potrebbe essere un compromesso accettabile.</p>
<p><em>Foto: <a href="http://www.flickr.com/photos/alcomm/217097889/">Macbook Keyboard</a> by alcomm</em></p>
<p><div style="padding: 10px; background: #ff6; border: 1px solid #fd3; margin: 10px 0; color: #000;">Vuoi fino a <strong>15Gb</strong> gratis per il backup e la condivisione dei tuoi file? <a href="https://www.getdropbox.com/referrals/NTIwNzgwMDk">Registrati su Dropbox</a>, usando questo link ottieni <strong>250Mb</strong> in più!</div><br/><br/>Leggi il post originale: <a href="http://www.tomstardust.com/archives/link-accessibili-da-tastiera/">Link accessibili da tastiera</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.tomstardust.com/archives/link-accessibili-da-tastiera/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>CSS3: Flexible Box Layout Module</title>
		<link>http://www.tomstardust.com/archives/css3-flexible-box-layout-module/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=css3-flexible-box-layout-module</link>
		<comments>http://www.tomstardust.com/archives/css3-flexible-box-layout-module/#comments</comments>
		<pubDate>Thu, 15 Oct 2009 04:30:10 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[css]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[w3c]]></category>

		<guid isPermaLink="false">http://www.tomstardust.com/?p=945</guid>
		<description><![CDATA[<p>Analisi della nuova specifica CSS3 per gestire i layout e l'allineamento verticale.</p><p><div style="padding: 10px; background: #ff6; border: 1px solid #fd3; margin: 10px 0; color: #000;">Vuoi fino a <strong>15Gb</strong> gratis per il backup e la condivisione dei tuoi file? <a href="https://www.getdropbox.com/referrals/NTIwNzgwMDk">Registrati su Dropbox</a>, usando questo link ottieni <strong>250Mb</strong> in più!</div><br/><br/>Leggi il post originale: <a href="http://www.tomstardust.com/archives/css3-flexible-box-layout-module/">CSS3: Flexible Box Layout Module</a></p>]]></description>
			<content:encoded><![CDATA[<p>Tra i vari moduli in lavorazione nelle specifiche dei CSS3, ce n&#8217;è uno particolarmente interessante: il <a href="http://www.w3.org/TR/css3-flexbox/">Flexible Box Layout Module</a>. Con questa specifica (ancora in sviluppo) è possibile infatti rendere flessibili i contenuti di un box, facendo loro occupare lo spazio vuoto a disposizione, sia orizzontalmente che verticalmente.</p>
<h3>Il codice CSS</h3>
<p>La teoria è semplice: dato un contenitore e degli elementi al suo interno, questi potranno adattarsi allo spazio vuoto. Considerando come html di base:</p>
<pre><code>&lt;div class="container"&gt;
    &lt;div class="box"&gt;&lt;/div&gt;
    &lt;div class="box"&gt;&lt;/div&gt;
&lt;/div&gt;</code></pre>
<p>Il CSS necessario per far adattare verticalmente i due <em>div</em> interni sarà:</p>
<pre><code>.container {
    display: box;
    box-align: stretch;
    box-orient: vertical;
}
.box {
    box-flex: 1;
}</code></pre>
<p><strong>N.B.:</strong> Per lo stretch orizzontale, basta usare <em>box-orient: horizontal</em>.</p>
<p>In realtà per effettuare dei test è ancora necessario utilizzare i prefissi <em>-moz-</em> e <em>-webkit-</em>, visto che le proprietà standard non sono ancora supportate.</p>
<h3>Esempi pratici</h3>
<p><img class="alignnone size-full wp-image-950" title="Flexible box layout module" src="http://www.tomstardust.com/wp-content/uploads/2009/10/flexible-box-layout-moduel.png" alt="Flexible box layout model" width="438" height="185" /></p>
<p>Per capire ancora meglio la dinamica di questo modulo, gli esempi che trovate <a title="Introducing the Flexible Box Layout Module - css3.info" href="http://www.css3.info/introducing-the-flexible-box-layout-module/">su css3.info</a> sono meglio di qualsiasi descrizione testuale, a patto che stiate utilizzando le ultime versioni di <strong>Firefox, Safari o Chrome</strong>. Il W3C infatti sta ancora lavorando sul documento, e per adesso solo i motori di rendering Gecko e Webkit hanno delle istruzioni proprietarie adatte allo scopo.</p>
<p>Da notare che i due motori presentano risultati differenti, pur rendendo chiaramente l&#8217;idea dell&#8217;utilità della proprietà. A mio parere l&#8217;interpretazione corretta è quella di Webkit, ma finchè le specifiche non saranno definitive diventa difficile stabilirlo.</p>
<p>Un altro articolo interessante a riguardo è <a title="CSS 3: progress! - dojotoolkit.org" href="http://alex.dojotoolkit.org/2009/08/css-3-progress/">sul blog di Alex Russel</a>, che ha preparato un foglio di stile su misura per avere già pronte tutte le classi necessarie.</p>
<h3>Perchè parlarne?</h3>
<p>Se le specifiche per il <em>Flexible Box Layout Module</em> sono ancora così indietro, ha senso parlarne? La risposta è sì, come nel caso di tutte le altre proprietà dei CSS3 che non sono ancora supportate. Pur non potendo utilizzarle nei propri progetti, per un web designer non è mai troppo presto per sperimentare: quando arriverà il momento sarà un grande vantaggio conoscerle.</p>
<p>Purtroppo l&#8217;ostacolo è rappresentato dalla lentezza del <a title="World Wide Web Consortium" href="http://www.w3.org/">W3C</a> e dal normale ciclo di vita dei browser: finchè esisteranno sul mercato delle versioni che non supportano queste nuove proprietà, sarà ancora presto per utilizzarle.</p>
<p><div style="padding: 10px; background: #ff6; border: 1px solid #fd3; margin: 10px 0; color: #000;">Vuoi fino a <strong>15Gb</strong> gratis per il backup e la condivisione dei tuoi file? <a href="https://www.getdropbox.com/referrals/NTIwNzgwMDk">Registrati su Dropbox</a>, usando questo link ottieni <strong>250Mb</strong> in più!</div><br/><br/>Leggi il post originale: <a href="http://www.tomstardust.com/archives/css3-flexible-box-layout-module/">CSS3: Flexible Box Layout Module</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.tomstardust.com/archives/css3-flexible-box-layout-module/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>I problemi di validazione con i CSS3</title>
		<link>http://www.tomstardust.com/archives/css3-problemi-validazione/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=css3-problemi-validazione</link>
		<comments>http://www.tomstardust.com/archives/css3-problemi-validazione/#comments</comments>
		<pubDate>Thu, 03 Sep 2009 04:30:30 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[css]]></category>
		<category><![CDATA[web standards]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[w3c]]></category>

		<guid isPermaLink="false">http://www.tomstardust.com/?p=910</guid>
		<description><![CDATA[<p>Utilizzare i CSS3 significa spesso avere fogli di stile non validi. Come affrontare il problema?</p><p><div style="padding: 10px; background: #ff6; border: 1px solid #fd3; margin: 10px 0; color: #000;">Vuoi fino a <strong>15Gb</strong> gratis per il backup e la condivisione dei tuoi file? <a href="https://www.getdropbox.com/referrals/NTIwNzgwMDk">Registrati su Dropbox</a>, usando questo link ottieni <strong>250Mb</strong> in più!</div><br/><br/>Leggi il post originale: <a href="http://www.tomstardust.com/archives/css3-problemi-validazione/">I problemi di validazione con i CSS3</a></p>]]></description>
			<content:encoded><![CDATA[<p>Uno dei problemi principali nell&#8217;utilizzo dei <strong>CSS3</strong> è la creazione di fogli di stile con codice valido. I CSS2 sono ormai uno standard, ma non è così per le nuove specifiche.</p>
<p>Escludendo qualche rara eccezione, la maggior parte delle proprietà hanno nomi diversi e sono supportate in maniera differente a seconda del browser: questo non semplifica il lavoro degli sviluppatori. Basti pensare ad una proprietà ormai diffusa su tutti i browser (escludendo il solito Internet Explorer): <em>border-radius</em>. Su Firefox è necessario utilizzare il prefisso <em>&#8220;moz-&#8221;</em>, su Safari e Chrome bisogna anteporre <em>&#8220;webkit-&#8221;</em> , ed ognuna di queste forme ovviamente non è riconosciuta dal <a title="World Wide Web Consortium" href="http://www.w3.org/">W3C</a>.</p>
<p>Il risultato è che se si desidera utilizzare i CSS3 per dare ad una parte dei propri utenti una migliore esperienza di navigazione, non sarà possibile validare il foglio di stile.</p>
<p>Come comportarsi in questo caso? L&#8217;unica soluzione è trovare un compromesso. Su questo sito ad esempio l&#8217;unica proprietà particolare che ho utilizzato è <em>text-shadow</em>, ben supportata nella sua forma standard. Ho invece trascurato proprio <em>border-radius</em> e altre proprietà simili, che però utilizzo su altri progetti come <a title="TomStardust Diary" href="http://www.tomstardustdiary.com/">il mio blog personale</a>, dove sono meno rigido per quanto riguarda la validazione dei CSS.</p>
<p>La colpa di questa situazione è da attribuire soprattutto alla lentezza del W3C, perchè i produttori di browser stanno dimostrando una grande attenzione alle novità. Supportare certe funzionalità è comunque motivo di vanto sulla concorrenza. Non è possibile però chiedere ai produttori di utilizzare fin da subito la forma standard delle proprietà: le specifiche potrebbero cambiare prima del raggiungimento della loro forma standard.</p>
<p>Proprio sull&#8217;uso dei CSS3 sarei curioso di conoscere anche il vostro punto di vista: li utilizzate? Vi preoccupate della validazione del foglio di stile?</p>
<p>Uno dei migliori suggerimenti sull&#8217;argomento, <a title="The big CSS3 validation debate - CSS3.info" href="http://www.css3.info/the-big-css3-validation-debate/">segnalato su CSS3.info</a>, riguarda una possibile modifica al validatore del W3C. La soluzione ideale infatti sarebbe vedere segnalate come <em>&#8220;experimental&#8221;</em> o <em>&#8220;warning&#8221;</em> le proprietà dei CSS3 ancora sperimentali, consentendone l&#8217;uso senza problemi. Gli errori sparirebbero per la felicità di tutti, ma è una speranza probabilmente troppo ottimista.</p>
<p><div style="padding: 10px; background: #ff6; border: 1px solid #fd3; margin: 10px 0; color: #000;">Vuoi fino a <strong>15Gb</strong> gratis per il backup e la condivisione dei tuoi file? <a href="https://www.getdropbox.com/referrals/NTIwNzgwMDk">Registrati su Dropbox</a>, usando questo link ottieni <strong>250Mb</strong> in più!</div><br/><br/>Leggi il post originale: <a href="http://www.tomstardust.com/archives/css3-problemi-validazione/">I problemi di validazione con i CSS3</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.tomstardust.com/archives/css3-problemi-validazione/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
	</channel>
</rss>

