Appendice B. Modifiche rispetto ai CSS1
Questa appendice è informativa, non normativa.
I CSS2 sono costruiti sui CSS1 e tutti i fogli di stile CSS1 validi sono validi fogli di stile CSS2.
Le modifiche fra le specifiche CSS1 (si veda
[CSS1]) e queste specifiche ricadono in tre gruppi:
nuove funzionalità, descrizioni aggiornate delle funzionalità CSS1, e modifiche rispetto ai
CSS1.
In aggiunta alle funzionalità dei CSS1, i CSS2 supportano:
- Il concetto di tipi di media.
- Il valore 'inherit'
per tutte le proprietà.
- I media a pagine
- I fogli di stile acustici
- Diverse caratteristiche di internazionalizzazione, inclusi stili di numerazione degli elenchi, supporto per il testo bidirezionale, e il supporto per le
virgolette sensibili alla lingua.
- Un meccanismo diselezione estesa dei font
comprendente la corrispondenza intelligente, la sintesi e i font
scaricabili. Ancora: è stato introdotto il concetto di font di sistema, ed è stata aggiunta una
nuova proprietà, 'font-size-adjust'.
- Le tabelle, inclusi i nuovi valori per 'display' e 'vertical-align'.
- Posizionamento relativo e assoluto,
incluso il posizionamento
fisso.
- Nuovi tipi di riquadrati (insieme con quelli a blocco e in riga): compatti e
incorporati.
- La capacità di controllare l'eccedenza, il ritaglio, e la visibilità del contenuto nel modello di formattazione visuale.
- La capacità di specificare larghezze e altezze minime e massime nel modello di
formattazione visuale.
- Un meccanismo esteso di selettori,
inclusi selettori di figli, selettori adiacenti e selettori di attributo.
- Contenuti generati,
contatori e numerazione automatica, e
indicatori.
- Ombreggiature del testo, attraverso la nuova proprietà 'text-shadow'.
- Diverse nuove pseudo-classi, :first-child, :hover,
:focus, :lang.
- Colori e
font di sistema.
- Cursori.
- Contorni dinamici.
Le specifiche CSS1 eramo brevi e concise. Queste specifiche
sono molto più voluminose e leggibili. Gran parte del contenuto addizionale descrive nuove
funzionalità, ma anche la descrizione delle caratteristiche CSS1 è stata estesa.
Tranne nei pochi casi descritti di seguito, le descrizioni
riscritte non indicano una modifica nella sintassi o nella
semantica.
Sebbene tutti i fogli di stile CSS1 siano validi fogli di stile CSS2, vi sono pochi casi
in cui il foglio di stile CSS1 avrà un significato diverso
se interpretato come un foglio di stile CSS2. La maggior parte delle modifiche si deve all'esperienza di
implementazione fatta confluire in queste specifiche, ma
vi sono anche alcune correzioni di errori.
- Il significato di "!important" è cambiato. Nei CSS1,
"!important" in un foglio di stile dell'autore aveva la precedenza su quello in
un foglio di stile dell'utnete. Ciò è stato invertito nei CSS2.
- Nei CSS2 i valori dei colori sono tagliati rispetto alla gamma
del dispositivo, non rispetto alla gamma sRGB come nei
CSS1.
- I CSS1 affermavano semplicemente che 'margin-right' era ignorato se
'margin-left' e 'width' erano impostati. Nei CSS2 la scelta fra
diminuire 'margin-right' o 'margin-left' dipende dalla direzione di scrittura
- Nei CSS1, diverse proprietà (per esempio 'padding') hanno valori in riferimento
alla larghezza dell'elemento genitore. Questo era un errore; il valore
dovrebbe sempre riferirsi alla larghezza di un elemento a livello di blocco e queste
specifiche rispecchiano questo concetto introducendo il termine di blocco "contenitore".
- Il valore iniziale di 'display' è 'inline' nei CSS2, non 'block' come nei
CSS1.
- Nei CSS1, la proprietà 'clear' era applicata a tutti gli elementi. Questo era un errore,
e nei CSS2 la proprietà si applica solo agli elementi a livello di blocco.
- Nei CSS1, ':link', ':visited' e ':active' erano reciprocamente esclusive; nei CSS2, ':active' può ricorrere
insieme con ':link' o
':visited'.
- Il fattore di misurazione in scala suggerito fra indici adiacenti di 'font-size' nella tabella delle dimensioni dei font
è stato ridotto da 1.5 a 1.2.
- Il valore calcolato, non effettivo, di 'font-size' è ereditato.
- La descrizione CSS1 di 'inside' (per 'list-style-position')
consentiva l'interpretazione secondo cui il margine sinistro del testo era influenzato,
piuttosto che la posizione del pallino. Nei CSS2 questa interpretazione
viene esclusa.
- Si prega anche di consultare la sezione normativa sulle differenze fra le formalizzazioni CSS1 e
CSS2.