Gli esempi visti finora hanno utilizzato per la visualizzazione varie indicazioni di stile. Il linguaggio che si è specializzato e standardizzato per esprimerle non è HTML, ma CSS, ora alla versione 3 (e già si pensa che sia ora di superarlo). Per una rapida introduzione continuiamo a seguire Matthew Mc Donald, "HTML5 - the missing manual", all'Appendice A.
Struttura di uno stylesheet:
Ogni stylesheet contiene una o più regole, ciascuna delle quali ha questa struttura:
selettore {
proprietà1: valore1;
proprietà2: valore2;
  (...)
}- Il selettore identifica la parte di contenuto della pagina
di cui si vuole modificare l'aspetto. Il browser cerca tutti gli
elementi della pagina indicati dal selettore ed applica le
propriet&a; corrispondenti. Se
più selettori identificano lo stesso elemento vengono
applicati dal pù generale al più specifico. A parità
di specificità prevale l'ultimo trovato nello stylesheet.
La sintassi dei selettori è articolata e potente: vale la pena di approfondirla uin po'. Gran parte della potenza di strumenti comejQueryderiva dalla sintassi dei selettori. - La proprietà identifica il tipo di formattazione che si intende modificare. Colori, font, allineamento, o altro. Ogni regola può definire un numero qualsiasi di proprietà.
- Il valore viene assegnato alla proprietà scelta. Ecco una tabella delle proprietà più frequentemente utilizzate, linkate alle rispettive descrizioni in w3schools.com:
I commenti negli style sheet usano la convenzione dei commenti del linguaggio C:
/* Questo è un commento. */Il fatto che i tre linguaggi di cui ci occupiamo (HTML, CSS e JavaScript) utilizzino sintassi diverse anche per i commenti indica la loro evoluzione da contesti diversi...
Sintassi dei selettori
Un riassunto della sintassi dei selettori:
- Per nome dell'elemento:
nomeelemento- Seleziona tutti gli elementi con nomenomeelemento. - Per classe:
.nomeclasse- Seleziona tutti gli elementi il cui attributoclassè definito comenomeclasse. - Per ID:
#qualeid- Seleziona tutti gli elementi il cui attributoidè definito comequaleid. - Combinazione:
selettore1,selettore2,...- Seleziona gli elementi indicati da uno qualsiasi dei selettori. - Contenimento:
selettore1 selettore2- Seleziona gli elementi indicati daselettore2e contenuti in un elemento indicato daselettore1. - Ordine:
selettore1~selettore2- Seleziona gli elementi indicati daselettore2preceduti da un elemento indicato daselettore1. - Parentela:
selettore1>selettore2- Seleziona gli elementi indicati daselettore2il cui padre è un elemento indicato daselettore1. - Adiacenza:
selettore1+selettore2- Seleziona gli elementi indicati daselettore2che seguono immediatamente un elemento indicato daselettore1ma non sono contenuti in esso. - Per attributo (solo CSS3):
[nomeattributo]- seleziona gli elementi che hanno definito l'attributonomeattributo.
[nomeattributo=valoreattributo]- seleziona gli elementi per i quali l'attributonomeattributoè definito al valorevaloreattributo. - Per pseudo-classe: - Permette di selezionare elementi che rientrano in una particolare categoria. La pseudo-classe può essere applicata come qualificatore ad altri selettori. Qualche esempio:
not:(selettore)(CSS3) Un elemento che non è del tipo selezionato da selettore.
root:(CSS3) L'elemento padre del documento.
link:Link ad altri documenti non visitati.
visited:Link ad altri documenti già visitati.
empty:(CSS3) Elementi che non hanno figli.
only-child:Elementi unici contenuti in un altro elemento.
:nth-child(n)(CSS3) L'n-esimo figlio di un elemento. Possono essere utilizzate espressioni come2n(elementi pari),2n+1(elementi dispari), etc.
:nth-last-child(n)(CSS3) L'n-esimo figlio di un elemento, contando all'indietro dall'ultimo. Stesse regole come per il selettore precedente.
:valid(CSS3) Elemento contenente un valore valido.
::selection(non standardizzato ma supportato!) La porzione di un elemento selezionata (evidenziata) dall'utente.
::beforePosizione prima dell'elemento a cui la pseudo-classe si riferisce.
::afterPosizione dopo l'elemento a cui la pseudo-classe si riferisce.
Bibliografia:
- Matthew Mc Donald, "HTML5 - the missing manual", 2nd edition, O'Reilly - Appendice A
- Home page di CSS:
http://www.w3.org/Style/CSS/ - CSS Reference:
http://www.w3schools.com/cssref/
Unità di misura di CSS
È importante preferire una specifica delle dimensioni in termini relativi:
| Unità | Descrizione |
|---|---|
| % | percentuale della dimensione dell'elemento che contiene quello selezionato |
| vh | percentuale della viewport del browser. Utile ma non ancora standardizzato |
in |
pollici (1 pollice = 2,54 cm) |
cm |
centimetri |
mm |
millimetri |
em |
1em corrisponde alla dimensione del font corrente.
2em è 2 volte la dimensione del font corrente.
Ad esempio se il font è di 12pt
2em sono 24pt. Questa unità
è particolarmente utile per i CSS, perché
scala automaticamente in proporzione al font in uso.
|
ex |
Un ex è la dimensione in orizzontale (x-height)
del font in uso. (corrisponde di solito circa a metà della
dimensione del font.
|
pt |
punto tipografico (1pt equivale a 1/72 di pollice) |
pc |
'pica' (1pc equivale a 12 punti, 1/6 di pollice) |
px |
pixel (un pixel è un punto sullo schermo del computer) |