1 A proposito delle Specifiche CSS2

Sommario

1.1 Leggere le specifiche

Queste specifiche sono state scritte con due tipi di lettori in mente: autori di CSS e sviluppatori di CSS. Ci auguriamo che le specifiche possano fornire agli autori gli strumenti di cui necessitano per scrivere documenti efficienti, attraenti ed accessibili, senza sovraesporli ai dettagli di sviluppo dei CSS. Gli implementatori, tuttavia, dovrebbero trovare tutto ciò di cui hanno bisogno per costruire programmi utente conformi. Le specifiche cominciano con una presentazione generale dei CSS e diventano sempre più tecniche e dettagliate a mano a mano che procedono verso la fine. Per un accesso rapido alle informazioni, vi sono un sommario generale, sommari specifici all'inizio di ogni sezione ed un indice, che garantiscono una facile navigazione, sia nella versione elettronica sia in quella a stampa.

Le specifiche sono state scritte con due modalità di presentazione in mente: elettronica e stampata. Benché le due presentazioni siano senza dubbio simili, i lettori troveranno alcune differenze. Per esempio, i collegamenti ipertestuali non funzioneranno nella versione stampata (ovviamente) ed i numeri di pagina non compariranno nella versione elettronica. In caso di discrepanze, la versione elettronica è da considerarsi come la versione normativa del documento.

1.2 Come sono organizzate le specifiche

Le specifiche sono organizzate nelle seguenti sezioni:

Sezione 2: un'introduzione ai CSS2
L'introduzione include una breve guida ai CSS2 ed una discussione sui princìpi di progettazione dietro i CSS2.
Sezioni 3 - 20: manuale di consultazione dei CSS2
Il grosso del manuale di consultazione consiste nella presentazione del linguaggio CSS2. Tale presentazione definisce ciò che può essere inserito in un foglio di stile CSS2 (sintassi, proprietà, valori di proprietà) e come i programmi utente devono interpretare questi fogli di stile al fine di dichiarare la conformità.
Appendici
Le appendici contengono le seguenti informazioni: un foglio di stile esemplificativo per HTML 4.0, i cambiamenti rispetto ai CSS1 , alcune note su implementazione e prestazioni, la grammatica dei CSS2, un elenco di riferimenti normativi e informativi, e tre indici: uno delle proprietà, uno dei descrittori ed un indice generale.

1.3 Convenzioni

1.3.1 Elementi e attributi del linguaggio del documento

1.3.2 Definizioni di proprietà CSS

Ogni definizione di proprietà CSS comincia con un sommario di informazioni chiave sul modello del seguente:

'nome-proprietà'
Valore:  valori legali & sintassi
Iniziale:  valore iniziale
Si applica a:  gli elementi a cui si applica questa proprietà
Ereditata:  se la proprietà è ereditata
Percentuali:  come sono interpretati i valori percentuali
Media:  a quali gruppi di media si applica la proprietà

Valore

Questa parte specifica l'insieme di valori validi per la proprietà. I tipi di valore possono essere designati in diversi modi:

  1. valori chiave (p.es., auto, disc, ecc.)
  2. tipi di dati fondamentali, che appaiono tra "<" e ">" (p.es., <lunghezza>, <percentuale>, etc.). Nella versione elettronica del documento, ogni occorrenza di un tipo di dato fondamentale è collegato alla sua definizione.
  3. tipi che hanno la medesima gamma di valori di una proprietà che porta lo stesso nome (p.es., <'border-width'> <'background-attachment'>, ecc.). In tal caso, il nome del tipo è il nome della proprietà (completo di virgolette) tra "<" e ">" (p.es., <'border-width'>). Nella versione elettronica del documento, ogni occorrenza di questo tipo di valore non-terminale è collegata alla corrispondente definizione di proprietà.
  4. valori non-terminali che non condividono il medesimo nome di una proprietà. In tal caso, il nome non-terminale appare tra "<" e ">", come in <border-width>. Si noti la distinzione tra <border-width> e <'border-width'>: il secondo è definito nei termini del primo. La definizione di un non-terminale è collocata vicino alla sua prima apparizione all'interno delle specifiche. Nella versione elettronica del documento, ogni occorrenza di questo tipo di valore è collegata alla corrispondente definizione di valore.

Altre parole in queste definizioni sono parole chiave che devono comparire testualmente, senza virgolette (p.es., red). Anche la barra obliqua (/) e la virgola (,) devono comparire testualmente.

I valori possono essere ordinati nel modo seguente:

La giustapposizione è più forte della doppia barra verticale, e la doppia barra verticale è più forte della barra verticale. Pertanto le righe seguenti sono equivalenti:

    a b   |   c || d e
  [ a b ] | [ c || [ d e ]]

Ciascun tipo, parola chiave o gruppo tra parentesi può essere seguito da uno dei seguenti modificatori:

I seguenti esempi illustrano differenti tipi di valore:

Valore: N | NW | NE
Valore: [ <lunghezza> | thick | thin ]{1,4}
Valore: [<nome-famiglia> , ]* <nome-famiglia>
Valore: <uri>? <colore> [ / <colore> ]?
Valore: <uri> || <colore>

Iniziale

Questa parte specifica il valore iniziale della proprietà. Se la proprietà è ereditata, questo è il valore che è dato all'elemento radice dell'albero del documento. Si consulti per favore la sezione sulla cascata per informazioni circa l'interazione tra i valori specificati dal foglio di stile, ereditati e iniziali.

Si applica a

Questa parte elenca gli elementi a cui la proprietà si applica. A ciascun elemento si considerano applicabili tutte le proprietà, ma alcune proprietà non hanno effetto, ai fini della riproduzione, su alcuni tipi di elemento. Per esempio, 'white-space' influenza solo gli elementi a livello di blocco.

Ereditato

Questa parte indica se il valore della proprietà è ereditato da un elemento progenitore. Si consulti per favore la sezione sulla cascata per informazioni circa l'interazione tra i valori specificati dal foglio di stile, ereditati e iniziali.

Valori percentuali

Questa parte indica come dovrebbero essere interpretate le percentuali, se sono presenti nel valore della proprietà. Se qui appare "N/A", significa che la proprietà non accetta percentuali come valori.

Gruppi di media

Questa parte indica i gruppi di media a cui la proprietà si applica. Le condizioni di conformità stabiliscono che i programmi utente devono supportare questa proprietà se essi supportano la riproduzione per i tipi di media inclusi in tali gruppi di media.

1.3.3 Proprietà stenografiche

Alcune proprietà sono proprietà stenografiche, il che significa che consentono agli autori di specificare i valori di una serie di proprietà per mezzo di una singola proprietà.

Per esempio, la proprietà 'font' è una proprietà stenografica, che consente di impostare tutti in una volta 'font-style', 'font-variant', 'font-weight', 'font-size', 'line-height' e 'font-family'.

Quando da una proprietà stenografica sono omessi alcuni valori, a ciascuna proprietà "smarrita" è assegnato il suo valore iniziale (si veda la sezione sulla cascata).

Esempio:

Le molteplici regole di stile di questo esempio:

H1 { 
  font-weight: bold; 
  font-size: 12pt;
  line-height: 14pt; 
  font-family: Helvetica; 
  font-variant: normal;
  font-style: normal;
  font-stretch: normal;
  font-size-adjust: none
}

possono essere riscritte per mezzo di una singola proprietà stenografica:

H1 { font: bold 12pt/14pt Helvetica }

In questo esempio, 'font-variant', 'font-stretch', 'font-size-adjust' e 'font-style' prendono i loro valori iniziali.

1.3.4 Note ed esempi

Tutti gli esempi che illustrano usi illegali sono chiaramente marcati come "ESEMPIO ILLEGALE".

Tutti gli esempi HTML sono conformi alla DTD rigorosa di HTML 4.0 (definita in [HTML40]), a meno che non sia indicato altrimenti da una dichiarazione del tipo di documento.

Tutte le note sono soltanto informative.

Esempi e note sono marcati all'interno del sorgente HTML delle specifiche così che i programmi utente CSS1 possano riprodurli in modo particolare.

1.3.5 Immagini e descrizioni lunghe

La maggior parte delle immagini nella versione elettronica di queste specifiche sono accompagnate da "descrizioni lunghe" di ciò che rappresentano. Un collegamento alla descrizione lunga è segnalato da una "[D]" posta alla destra dell'immagine.

Immagini e descrizioni lunghe sono puramente informative.

1.4 Ringraziamenti

Queste specifiche sono il prodotto del Gruppo di lavoro W3C sui Fogli di stile a cascata e sulle Proprietà di formattazione. In aggiunta ai curatori di queste specifiche, i membri del Gruppo di lavoro sono: Brad Chase (Bitstream), Chris Wilson (Microsoft), Daniel Glazman (Electricité de France), Dave Raggett (W3C/HP), Ed Tecot (Microsoft), Jared Sorensen (Novell), Lauren Wood (SoftQuad), Laurie Anna Kaplan (Microsoft), Mike Wexler (Adobe), Murray Maloney (Grif), Powell Smith (IBM), Robert Stevahn (HP), Steve Byrne (JavaSoft), Steven Pemberton (CWI), Thom Phillabaum (Netscape), Douglas Rand (Silicon Graphics), Robert Pernett (Lotus), Dwayne Dicks (SoftQuad), e Sho Kuwamoto (Macromedia). Li ringraziamo tutti per i loro sforzi continuati.

Ha contribuito un certo numero di esperti invitati nel Gruppo di lavoro: George Kersher, Glenn Rippel (Bitstream), Jeff Veen (HotWired), Markku T. Hakkinen (The Productivity Works), Martin Dürst (W3C, in precedenza Universität Zürich), Roy Platon (RAL), Todd Fahrner (Verso), Tim Boland (NIST), Eric Meyer (Case Western Reserve University) e Vincent Quint (W3C).

La sezione sui font [insiemi di caratteri] Web è stata fortemente modellata da Brad Chase (Bitstream), David Meltzer (Microsoft Typography) e Steve Zilles (Adobe). Le seguenti persone hanno anche contribuito in vario modo alla sezione relativa alle fonti: Alex Beamon (Apple), Ashok Saxena (Adobe), Ben Bauermeister (HP), Dave Raggett (W3C/HP), David Opstad (Apple), David Goldsmith (Apple), Ed Tecot (Microsoft), Erik van Blokland (LettError), François Yergeau (Alis), Gavin Nicol (Inso), Herbert van Zijl (Elsevier), Liam Quin, Misha Wolf (Reuters), Paul Haeberli (SGI) e da ultimo Phil Karlton (Netscape).

La sezione sui media a pagine è stata realizzata in larga parte da Robert Stevahn (HP) e Stephen Waters (Microsoft).

Robert Stevahn (HP), Scott Furman (Netscape) e Scott Isaacs (Microsoft) hanno contribuito in modo determinante al posizionamento CSS.

Mike Wexler (Adobe) è stato il curatore della bozza di lavoro provvisoria, che descriveva molte delle nuove caratteristiche dei CSS2.

T.V. Raman (Adobe) ha fornito un contributo cruciale allo sviluppo dei Fogli di stile a cascata acustici (ACSS) ed ai concetti della presentazione acustica, basati sul suo lavoro per AsTeR (Audio System For Technical Readings). Ha contribuito con una bozza iniziale delle specifiche ACSS, su cui sono state modellate le specifiche correnti. Si devono a lui i valori delle proprietà acustiche contenute nel foglio di stile esemplificativo per HTML 4.0; egli le utilizza quotidianamente sul suo computer multimediale in congiunzione con Emacspeak e con il navigatore Emacs W3 (sviluppato da William Perry, che ha anche realizzato le estensioni acustiche dal lato W3 dello steccato).

Todd Fahrner (Verso) ha svolto ricerche sui navigatori contemporanei e storici per sviluppare il foglio di stile esemplificativo nell'appendice.

Un ringraziamento a Jan Kärrman, autore di html2ps, per il grande aiuto fornito nel creare la versione PostScript delle specifiche.

Attraverso incontri elettronici o fisici, le seguenti persone hanno contribuito allo sviluppo dei CSS2: Alan Borning, Robert Cailliau, Liz Castro, James Clark, Dan Connolly, Donna Converse, Daniel Dardailler, Al Gilman, Daniel Greene, Scott Isaacs, Geir Ivarsøy, Vincent Mallet, Kim Marriott, Brian Michalowski, Lou Montulli, Henrik Frystyk Nielsen, Jacob Nielsen, Eva von Pepel, William Perry, David Siegel, Peter Stuckey e Jason White.

Le discussioni su www-style@w3.org hanno influenzato molti aspetti chiave dei CSS. In particolare desideriamo ringraziare Bjorn Backlund, Todd Fahrner, Lars Marius Garshol, Sue Jordan, Ian Hickson, Susan Lesch, Andrew Marshall, MegaZone, Eric Meyer, Russell O'Connor, David Perrell, Liam Quinn, Jon Seymour, Neil St. Laurent, Taylor, Brian Wilson e Chris Wilson per la loro partecipazione.

Molti ringraziamenti vanno al gruppo di lavoro Web Accessibility Initiative Protocols and Formats Technical Review (WAI PF), per aver aiutato a migliorare l'accessibilità dei CSS2.

Molti ringraziamenti a Philippe Le Hégaret, il cui validatore CSS ci ha aiutato ad assicurare esempi corretti ed una grammatica funzionale.

Un ringraziamento speciale ad Arnaud Le Hors, i cui contributi progettuali hanno fatto funzionare questo documento.

Adam Costello ha reso migliori le specifiche grazie ad una dettagliata revisione.

E per concludere, un grazie a Tim Berners-Lee, senza il quale nulla di tutto ciò sarebbe stato possibile.

1.5 Avviso di riserva del diritto d'autore

Copyright © 1997 World Wide Web Consortium, (Massachusetts Institute of Technology, Institut National de Recherche en Informatique et en Automatique, Keio University). Tutti i diritti riservati.

I documenti sul sito W3C sono forniti dagli aventi diritto sotto la seguente licenza. Acquisendo, usando e/o copiando il presente documento, o i documenti W3C che rimandano a questa dichiarazione, voi ammettete che avete letto, compreso e che osserverete i seguenti termini e condizioni:

Il permesso di usare, copiare e distribuire i contenuti del presente documento, o del documento W3C che rimanda a questa dichiarazione, con qualsiasi mezzo e per qualsiasi scopo, senza tasse o diritti di concessione, è con ciò garantito, purché sia incluso quanto segue su TUTTE le copie del documento, o porzioni di esso, che si utilizzano:

  1. Un collegamento o URI al documento W3C originale.
  2. Il preesistente avviso di riserva del diritto d'autore; se non ne esiste uno, un avviso della forma: "Copyright © World Wide Web Consortium, (Massachusetts Institute of Technology, Institut National de Recherche en Informatique et en Automatique, Keio University). Tutti i diritti riservati."
  3. Se esso esiste, lo STATUS del documento W3C.

Quando lo spazio lo consente, dovrebbe essere incluso il testo integrale di questo AVVISO. In aggiunta, dovranno essere attribuiti i crediti ai detentori dei diritti per qualsiasi programma, documento o altro elemento o prodotto che sia stato creato in conseguenza dell'applicazione dei contenuti di questo documento, o di qualsiasi porzione dello stesso.

Nessun diritto di creare modifiche o derivati è garantito in conseguenza di questa licenza.

IL PRESENTE DOCUMENTO È FORNITO "COSÌ COM'È", E I DETENTORI DEI DIRITTI NON FORNISCONO DICHIARAZIONI O GARANZIE, ESPRESSE O IMPLICITE, INCLUDENTI, MA NON LIMITATE A, GARANZIE DI COMMERCIABILITÀ, IDONEITÀ PER UN PARTICOLARE SCOPO, NON VIOLAZIONE DI DIRITTI O TITOLO, CHE I CONTENUTI DEL DOCUMENTO SIANO APPROPRIATI PER QUALSIASI SCOPO NÉ CHE L'APPLICAZIONE DI TALI CONTENUTI NON VIOLERÀ ALCUN BREVETTO DI TERZE PARTI, DIRITTO D'AUTORE, MARCHIO COMMERCIALE O ALTRI DIRITTI.

I DETENTORI DEI DIRITTI NON POTRANNO ESSERE CONSIDERATI RESPONSABILI PER QUALSIASI DANNO DIRETTO, INDIRETTO, SPECIALE O CONSEGUENZIALE, DERIVANTE DA UN QUALSIASI USO DEL DOCUMENTO O DAI RISULTATI O DALL'APPLICAZIONE DEI CONTENUTI DI ESSO.

Il nome e i marchi dei detentori dei diritti d'autore NON possono essere usati in promozioni o pubblicità relative a questo documento o ai suoi contenuti senza una precedente, specifica autorizzazione scritta. Il titolo alla riserva del diritto d'autore su questo documento rimarrà in perpetuo ai suoi detentori.