L'uso dei
CSS, in conformità agli standard per la definizione dell'interfaccia di un'applicazione Web, presenta moltissimi vantaggi rispetto all'approccio tradizionale, in cui la presentazione di un documento si mescola con il contenuto. Purtroppo però non tutti conoscono a fondo le potenzialità dei fogli di stile, e chi muove i primi passi in questo ambito non sempre ha la fortuna di poter contare su di una valida guida.
Il rischio di interpretare erroneamente i
CSS semplicemente come uno strumento per lo styling di un documento, infatti, sussiste sia per i principianti che per i designer di vecchia data. A tale proposito, volevo segnalarvi un libro intitolato
Beginning CSS Web Development, che si preoccupa, come specificato nel sottotitolo
“From Novice to Professional” sia di introdurre il principiante all'uso dei
CSS (e quindi anche alla filosofia dello standard) che di fungere da referenza per lo sviluppatore con più esperienza. Il volume risulta infatti ripartito in due sezioni intitolate
Get to Know CSS e
Logical Layouts, che rispettivamente si presentano al lettore gli elementi di base di
CSS ed esempi abbastanza complessi per la realizzazione di layout veri e propri.
Dopo le dovute presentazioni e introduzioni sull'importanza e sui vantaggi di
CSS, il
primo capitolo presenta vari metodi di integrazione fra il codice
XHTML (il contenuto) e
CSS (la presentazione), elencando vantaggi e svantaggi di ogni approccio. Inoltre, vengono fatte anche altre considerazioni sull'organizzazione dei propri fogli di stile, fra cui l'uso del cosiddetto
flagging, l'organizzazione in cartelle dei fogli di stile per i vari
media e l'uso di
@import.
Il
secondo capitolo spiega al lettore le potenzialità di
CSS, introducendone le basi, come l'uso degli
id e delle classi, il concetto di
cascade, l'ereditarietà e le varie unità di misura a disposizione del designer. Da notare che non si tratta di una semplice elencazione, perchè per ogni concetto vengono mostrati sempre gli aspetti negativi e positivi oltre che le varie eccezioni alla regola generale, in maniera da mettere il designer nelle condizioni di scegliere la soluzione a lui più adatta. Ad esempio, a proposito del concetto di classe, vengono identificate le confusioni più comuni di chi ha poca esperienza con
CSS, come l'uso di una classe per identificare oggetti, che compaiono una sola volta nella pagina.
Il
terzo capitolo descrive l'uso del tag
< div >, e introduce l'uso di altri concetti base dei
CSS, come i
margini, il
padding e l'uso dei
bordi. Inoltre, vengono presentati alcuni casi di utilizzo di queste proprietà, come l'allinemento al centro di un documento — e relative controindicazioni per IE5 — o l'uso del
CSS wireframing per evidenziare la struttura del documento in fase di realizzazione.
Il
capitolo quattro tratta un argomento fondamentale come quello dei font e dello styling del testo in generale. Vengono trattati
l'aliasing del testo su piattaforma Mac e Windows, i font più comuni da utilizzare e le proprietà più interessanti per migliorare la leggibilità, come l'attributo
line-height. La ridimensionabilità del testo era stata invece trattata nel
capitolo 2 a proposito delle varie unità di misura a disposizione del designer, con particolare riguardo per gli
em. Anche qui abbiamo qualche esempio pratico, come mettere in evidenza la lettera iniziale di un paragrafo (
drop caps).
Il
quinto capitolo prende in considerazione l'argomento dei colori, degli sfondi e delle immagini. Viene descritto il problema dei colori da utilizzare sul Web, facendo riferimento ai 216 colori
Web Safe, ma anticipando anche le novità di
CSS 3. L'argomento si sposta quindi su come inserire immagini o colori di sfondo nelle pagine, con un occhio di riguardo all'accessibilità. Infine vengono trattati i tre formati per le immagini sul Web, con relativi pro e contro, come ad esempio l'uso di immagini PNG con IE.
Il
sesto capitolo esamina invece le liste, insieme a tutti gli attributi necessari al loro design, sottolineandola loro importanza a livello semantico e presentando le proprietà necessarie allo styling di una semplice lista non ordinata in un menù, ossia la classica barra di navigazione, anche orizzontali grazie a
display: inline.
Lo styling dei collegamenti viene trattato nel
settimo capitolo, insieme alle pseudoclassi corrispondenti ai vari stati di un link, mentre nell'
ottavo capitolo vengono trattate le tabelle e le
definition list, un elemento senz'altro non molto comune. Il
nono capitolo è dedicato invece ai form. A parte l'elencazione dei vari controlli a disposizione, e delle proprietà più utili per lo styling, viene preso in considerazione anche l'aspetto dell'accessibilità. Per il posizionamento dei vari elementi vengono suggeriti i tre metodi più comuni (uso di tabelle, paragrafi e liste), mentre lo styling dei controlli è rimandato a fonti esterne.
Per chi ha già un po' di esperienza con
CSS, il libro si fa più interessante a partire dal
decimo capitolo, che apre la seconda sezione del volume, nel quale vengono presentati l'uso di
float e del relativo attributo
clear, oltre che i vari tipi di posizionameto (
static,
absolute,
fixed e
relative). Dopo questa naturale introduzione, il
capitolo undici presenta invece i
layout più comunemente utilizzati, come quello liquido a due o a tre colonne, quello elastico o ancora il layout a larghezza fissa, a proposito del quale viene introdotto il concetto di
Box Model, le differenze di implementazione nei vari browser e nelle varie versioni, oltre che gli
hack per realizzare un sito visualizzabile al meglio su più browser.
Il
capitolo dodici introduce all'uso dei
selettori contestuali, tramite i quali è possibile cambiare il layout di una pagina con modifiche minime o nulle al codice XHTML. Viene quindi presentato l'uso delle
Faux-Columns a dimensioni fisse, mentre il lettore viene rimandato ad una sorgente esterna per quanto riguarda invece le
Faux-Columns liquide. Il
capitolo tredici è molto pratico, e presenta al lettore un layout semplice, ma allo stesso tempo completo ed accattivante, dando tutti i dettagli della realizzazione e definendo tutti gli elementi più comuni di un documento, da riutilizzare eventualmente in altri progetti.
Oggetto del
capitolo quattordici sono invece i concetti di
usabilità ed
accessibilità. Vengono fatti riferimenti alle
WCAG (Web Content Accessibility Guidelines), ma anche ad aspetti più pratici, ai fogli di stile definiti dagli utenti, quelli per la stampa e quelli per i dispositivi mobili, corredando il tutto con esempi.
Il
capitolo quindici, di cui è disponibile il
PDF online, è dedicato ai
Tips & Tricks dei
CSS. Anche se vi vengono presentati spunti interessanti, è un capitolo volutamente corto, dato che l'argomento riempirebbe un volume a sé. Vengono quindi descritti un metodo ingegnoso per definire immagini
roll-over usando solo
CSS; la proprietà
overflow ed infine alcuni
hack per aumentare la compatibilità con i vecchi browser (come
Caio), non senza i necessari avvertimenti. In ultima analisi, si accenna ad alcuni dei problemi più comuni e alle rispettive soluzioni, come il
FOUC su IE, o i margini che non si comportano come dovrebbero.
Per concludere abbiamo il
capitolo sedici, nel quale viene presentato un esempio applicativo di quanto trattato durante tutto il volume, ossia la realizzazione di un sito per una fantomatica rock band
The Dead Goods. Lo sviluppo viene presentato a partire dal modello realizzato con Photoshop, sul quale bisogna basarsi per sviluppare il codice
CSS necessario alla definizione del layout.
Si tratta senz'altro di un volume apprezzabile e che mantiene le sue promesse. I suggerimenti riportati sono molto mirati e lo stile utilizzato dall'autore ne rende piacevole la lettura, eliminando le pretese enciclopediche. Non per niente
Simon Collison è uno sviluppatore attivo nel campo del Web design, e oltre a condurre la sua Web agency
Erskine Design, si occupa di
CSS ed altro, anche al di fuori del proprio orario di lavoro. Si tratta comunque di un testo abbastanza semplice. Se state cercando qualcosa di più avanzato, potrete trovare spunti interessanti oltre che nella vostra stessa esperienza anche in titoli come
Pro CSS Techniques o
CSS Mastery.
Concludendo, volevo segnalarvi la possibilità di scaricare i
sorgenti presentati nel volume dal sito dell'editore, oltre che gli
errata aggiornati dallo stesso autore, utile qualora il codice presentato non dovesse comportarsi come prospettato.