Tutorials responsive / grids / css 3

Web design reattivo: griglie fluide

1

Nel post dove abbiamo visto un'introduzione al responsive web design, ho elencato alcuni concetti fondamentali di cui avrei parlato. Il primo erano le griglie fluide: dalla tipografia al web, dal web al web per tutti.

 

Il grid design

 

Il design a griglie è un concetto molto più semplice da mostrare che da spiegare. Brevemente, è un metodo che sfrutta il layout utilizzato da sempre in ambito tipografico, allineando gli elementi secondo una griglia scelta. Nel caso del grid web design non ci si concentra su paragrafi e testi, ma su sezioni e divisioni di pagina.

 

Questa struttura visiva è più naturale e piacevole agli occhi di chi guarda. Seguendola quindi, agevoleremo la lettura dei contenuti nel loro insieme. Il sito diventa "inspiegabilmente" più accattivante, più morbido e pieno senza creare confusione. E' come una magia!

 

Fluid grids

 

Per rendere accessibile un design, questo deve essere in primis dinamico rispetto allo spazio che può permettersi di occupare. Nello stesso tempo, non possiamo dare una diversa larghezza fissa per ogni diverso spazio possibile! Sarebbe un lavoro infinito, nel senso letterale del termine. Per questo esistono anche e soprattutto nel web, unità di misura relative.

 

Sicuramente l'unità di misura relativa più conosciuta e utilizzata è la percentuale (%), seguita subito dopo dall'em. Per chi non sapesse ancora cosa sono e quando usarle, ho scritto pochi giorni fa un articolo apposito.

 
Abbiamo quindi realizzato il nostro progetto seguendo la tecnica del grid design, non ci resta che sostituire il dimensionamento in pixel con em (per i testi) e in % (per i contenitori). Purtroppo è un lavoro di pura matematica. Le formule per la conversione le trovate nell'articolo sopracitato che vi sollecito a leggere.
 
Non dimenticatevi neanche di dare una larghezza massima al layout, cosìcchè non diventi troppo dispersivo sui monitor ad alta risoluzione.
 
Un esempio di fluid grid design lo avete proprio davanti agli occhi: provate a ridimensionare il browser su questa pagina.
Se possedete un monitor con risoluzione maggiore di 1024x768 vedrete che il contenuto non passa mai il limite di larghezza impostato: 1100px. Provando invece a stringere il browser, vedrete che tutti i contenitori della pagina si ridimensionano in relazione allo spazio, grazie alla percentuale .
Vi porto quindi questo sito come esempio pratico. Vediamone innanzitutto la struttura, con le dimensioni fisse della risoluzione ottimale.
In questo layout abbiamo anche un caso particolare di contenitore con larghezza fissa: quello del menu, perchè vogliamo mantenere il logo sempre della stessa dimensione insieme quindi al suo contesto. 
 
Abbiamo i pixel. Convertiamoli in percentuale con la formula magica:
 
(elemento ÷ contesto) × 100 = risultato
 
Dove elemento è la dimensione in px che vogliamo convertire in %, e contesto è la dimensione in px del suo contenitore.
Passiamo al nostro magico css.
 
#limit_container {
max-width:1100px; /* limitiamo la larghezza massima */
}
#menu {
width:185px; /* manteniamo la larghezza fissa - per scelta */
}
#right_container {
width:81.35%; /* il risultato di (895px ÷ 1100px) × 100 */
}
#content_container {
width:75.95%; /* (680px ÷ 895px) × 100 */
}
#ads {
width:20.68%; /* (185px ÷ 895px) × 100 */
}

 

Ed ecco che ridimensionando la finestra del browser, viene mantenuta la griglia ma con fluidità. Aggiungo infine che questa formula può essere applicata anche a margini e padding, a seconda delle esigenze.

 

Sicuramente con questo metodo possiamo riuscire a gestire con successo i dispositivi con monitor ad alta risoluzione nello stesso modo di quelli a cosidette "risoluzioni minime", e anche qualcosa in meno. Cosa succede però quando il dispositivo ha una risoluzione troppo bassa per la leggibilità in questa struttura? Un layout a 3/4 colonne non potrà mai essere a suo agio sul monitor di uno smartphone... Griglie fluide o meno. Avete notato cosa succede quando riducete un po' troppo la finestra del browser su questo sito? Ebbene sì, le 3 colonne diventano 2, e se continuate a stringere ne rimarrà 1 sola. Com'è possibile? Se continuerete a seguirci lo scoprirete nell'articolo sulle media queries.

 

Intanto, vi lascio a un approfondimento must-read sulle fluid grids scritto men che meno dal suo ideatore.

 

1 commenti

Audrey

11 apr 2012 @ 01:56

This is cool!

lascia un commento