Verso i Css3, un'introduzione (aggiornato).
Articolo letto:
4652 volte
di
Marco Deseri
La futura versione dei css porterà molte novità, prima fra tutte la modularizzazione delle specifiche. Cerchiamo di capire gli obiettivi e le differenze rispetto alla versione 2. In più: scopriamo l'attuale livello di supporto dei selettori css3.
A differenza dei css2, che erano costruiti su una specifica monolitica, i css3
saranno costituiti da una serie di moduli, ognuno relativo ad un aspetto
specifico.
Sono due i vantaggi che il W3C conta di ottenere in questo modo:
-
Semplificare lo sviluppo e l'aggiunta di nuove funzionalità: piuttosto che far
entrare dozzine di modifiche nella stessa specifica, sarà possibile aggiornare
le singole parti. L'evoluzione delle specifiche sarà più flessibile, più chiara
e più rapida.
-
Consentire ai dispositivi di implementare solo parti della specifica: potrebbe
risultare inutile, per uno screen reader, implementare gli stili visuali. Con
le specifiche modulari sarà possibile scegliere di implementare solo alcuni
moduli, tralasciandone altri.
I singoli moduli vengono sviluppati in maniera autonoma e hanno quindi tempi e
gradi diversi di avanzamento. E' difficile parlare dello stato globale delle
specifiche css3: alcuni dei 25 moduli previsti sono già considerati stabili (e
ci sono browser che ne supportano alcune proprietà), mentre di altri non è
stato pubblicato nemmeno il primo “working draft”.
All'indirizzo http://www.w3.org/Style/CSS/current-work
è disponibile una mappa che riassume i progressi di ciascun modulo.
Per avere un'idea delle novità rispetto a css2, ecco una panoramica dei moduli
ritenuti stabili dal w3c, quelli che hanno già raggiunto lo stato di
”candidate recommendation”.
-
selectors: il
modulo che definisce i selettori presenta diverse differenze rispetto ai css2.
In particolare, è stata chiarificata la lista delle definizioni di base; sono
state introdotte nuove pseudo-classi e nuovi pseudo-elementi; è stata
effettuata una riscrittura della grammatica.
-
color: tra le
novità relative al colore, le più interessanti riguardano la possibilità di
definire il livello di opacità degli elementi e quella di specificare il
profilo di colore ICC, per impostare la correzione di gamma.
-
ruby: un modulo
utile soprattutto per le lingue orientali, che darà la possibilità di definire
il rendering dei testi che descrivono la pronuncia (di interesse molto limitato
per la maggior parte degli occidentali).
-
text: espanderà
decisamente le possibilità dei css2, con miglioramenti decisivi per
l'internazionalizzazione. Ci sono interessanti aggiunte per quel che riguarda
la decorazione dei testi, per esempio con le ombreggiature.
-
media-queries:
una proposta per arricchire le @media rules di css2. In particolare, consentirà
di assegnare specifici fogli di stile, sulla base delle caratteristiche dello
user-agent. Per esempio, se il rendering avviene su schermo a colori con una
larghezza di almeno 800px viene usato il foglio di stile A; se invece lo
schermo è più stretto di 800px, viene usato il foglio di stile B, infine se lo
schermo è in bianco e nero si userà il foglio di stile C. La possibilità di
definire fogli di stile differenti in base alle caratteristiche degli
user-agent è sicuramente uno degli aspetti più interessanti di css3.
Dovrebbero arrivare allo stadio di Candidate Recommendation entro giugno 2003
anche i moduli:
-
fonts: le
differenze più significative rispetto alla versione css2 riguardano le
decorazioni, con alcune nuove proprietà. Per esempio, saranno introdotte la
proprietà font-effect (con effetti in
rilievo e in rientranza), la proprietà font-smooth
(che consente all'autore di scegliere se applicare o meno l'anti-alias a
porzioni di testo), la proprietà font-emphasize
(attraverso la quale è possibile enfatizzare testi anche nelle lingue
orientali). Dovrebbe rimanere inalterata
la parte di selezione.
-
webfonts: un
modulo che dovrebbe garantire ai designer una maggior accuratezza nella scelta
dei font. Gli user-agent, se conformi alle specifiche css3, potranno contare su
un preciso algoritmo per il font matching, attraverso il quale individuare il
font scelto dall'autore. Nel caso in cui non dovesse essere disponibile, verrà
cercato il font più simile e, come ultima opzione, se nel foglio di stile è
stata specificata l'url presso il quale il font è disponibile, verrà effettuato
il download.
Parlare di supporto per i css3 è decisamente prematuro, soprattutto
considerando i tempi che sono stati necessari per arrivare ad un supporto
decente dei css2.
Ad ogni modo, molti dei browser più recenti supportano parte delle specifiche
css3. I più all'avanguardia su questo fronte sono MSN per Mac OS X, Mozilla (e,
di conseguenza, Netscape dalla versione 6), Konqueror (dalla versione 3.1) e
Safari.
Su MacEdition si trova una guida completa relativa al
supporto dei selettori css3 sui più recenti browser.
Introduzione ai css3:
Supporto dei selettori css3: