In questa lezione della nostra Guida CSS vedremo come stilizzare liste e tabelle.
Stilizzare le liste
Attraverso i CSS รจ possibile agire sulla presentazione delle liste, cioรจ sullโaspetto di liste ordinate (<ol>) e non ordinate (<ul>). A tal fine i fogli di stile ci consentono di fare ricorso a quattro proprietร (tre specifiche + una con sintassi compatta).
- list-style
- list-style-image
- list-style-position
- list-style-type
Anche queste proprietร , come quelle relative ai blocchi di testo, vengono ereditate.
Passiamole in rassegna una ad una.
list-style-image
Questa proprietร permette di utilizzare unโimmagine al posto del marcatore tradizionale. Lโimmagine viene specificata mediante una URL relativa o assoluta, esattamente come abbiamo visto per la proprietร background-image. Vediamo un esempio:
ul { list-style-image: url('icona.png'); }
Nel nostro esempio abbiamo applicato la proprietร in esame al tag <ul> ma avremmo potuto applicarla direttamente al list-item in questo modo:
li.sfera { list-style-image: url('sfera.png'); }
li.cubo { list-style-image: url('cubo.png'); }
Oltre alla URL dellโimmagine da utilizzare come marcatore, questa proprietร ammette il valore none che indica al browser di utilizzare il marcatore di default.
list-style-position
Questa proprietร permette di impostare la posizione del marcatore rispetto al testo. Ammette solo due valori: "outside" (valore di default) e "inside".
list-style-type
Questa proprietร definisce il tipo di marcatore da utilizzare per una data lista. I valori possibili sono tantissimi, elenchiamo di seguito i piรน comuni suddividendoli logicamente in due gruppi:
Liste non ordinate:
- disc โ (valore di default) corrisponde ad un pallino (il colore puรฒ essere impostato mediante la proprietร color);
- circle โ corrisponde ad cerchietto vuoto;
- square โ corrisponde ad un quadrattino;
Liste ordinate:
- decimal โ numerazione tradizionale (1,2,3,โฆ);
- lower-roman โ numerazione romana in minuscolo (i,ii,iii,iv,โฆ);
- upper-roman โ numerazione romana in maiuscolo (I,II,III,IV,โฆ);
- lower-alpha โ numerazione alfabetica in minuscolo (a,b,c,โฆ);
- upper-alpha โ numerazione alfabetica in maiuscolo (A,B,C,โฆ);
La proprietร list-style
Anche questa famiglia prevede una proprietร con sintassi compatta, si tratta di list-style.
Per questione di logica questa proprietร puรฒ riassumere una di queste due coppie:
- image + position
- type + position
Non avrebbe alcun senso, infatti, definire sia unโimmagine che un tipo per il marcatore in quanto la prima prevarrebbe sulla seconda.
Vediamo qualche esempio:
ol { list-style: lower-roman inside; }
ul { list-style: url('icona.png') outside; }
Stilizzare le tabelle
CSS 2.1 dispone anche di proprietร specifiche per la presentazione delle tabelle. Queste sono:
- table-layout
- border-collapse
- border-spacing
- empty-cells
table-layout
Questa proprietร definisce il metodo col quale il browser deve renderizzare la tabella. Questa proprietร ammette due soli valori:
- auto โ (default) il browser determina in automatico le regole di presentazione della tabella e delle sue celle in base al loro contenuto;
- fixed โ il brwoser si attiene in modo scrupoloso alle regole stabilite dal web-designer indipendentemenete dal contenuto della tabella.
Ad esempio:
table {
width: 600px;
table-layout: fixed;
}
La proprietร table-layout non รจ ereditata ma riguarda solo lโelemento cui viene applicata direttamente.
border-collapse e border-spacing
Questa proprietร definisce il modo con cui vengono trattati i bordi della tabella e delle sue celle. Ammette solo due valori:
- collapse โ le celle condividuono gli eventuali bordi adicaenti;
- separate โ ciascuna cella ha il suo bordo;
Se il valore di border-collapse รจ settato su "separate" รจ possibile gestire lo spazio tra i bordi delle celle adiacenti mediante la proprietร border-spacing in questo modo:
table {
border-collapse: separate;
border-spacing: 10px 20px;
}
I valori di border-spacing indicano la spaziatura in senso verticale (10px) ed orizzontale (20px).
Entrambe queste proprietร vengono ereditate da eventuali tabelle annidiate.
empty-cells
Questa proprietร consente di definire la presentazione delle celle vuote, cioรจ prive di contenuto. Ha due possibili valori:
- show โ mostra i bordi della cella vuota;
- hide โ i bordi non vengono mostrati (appare una sorta di "buco" nella griglia della tabella);