Layout elastico a due colonne

di: Alessandro Fulciniti     16 Ottobre 2007

Nel post Layout elastico dalla A alla Z pubblicato sul nostro blog abbiamo citato diverse risorse dedicate a questo tipo di layout. Si tratta di una tipologia nota da tempo, già trattata anche nella Guida ai layout con i CSS.

Abbiamo però ritenuto che fosse un argomento degno di approfondimento: vedremo nell'articolo i concetti che stanno alla base del layout elastico (prima parte) insieme a molte soluzioni implementative (seconda parte, per la quale vi rimando alla prossima settimana). Cominciamo subito.

Capire gli em

Uno degli aspetti fondamentali del layout elastico è il dimensionamento in em. È pertanto indispensabile la comprensione degli em per sviluppare siti elastici. Un em, nella tipografia tradizionale, corrisponde alla larghezza della lettera m minuscola. Per i CSS c'è da dire innanzitutto che gli em sono un'unità di misura relativa attraverso la quale è possibile specificare il font-size di un elemento e/o le sue dimensioni.

Per quanto riguarda il font-size, un valore specificato in em funge sostanzialmente da fattore moltiplicativo. Nel seguente esempio

body{font-size: 10px}
h1{font-size: 3em}

il font-size del body è di 10px e stabilisce la misura di base del font dell'intero documento. Il titolo h1, che è ovviamente parte del body, avrà un font-size che è tre volte quello del suo contenitore. Se il titolo h1 del documento associato, com'è presumibile che sia, non ha altri "genitori" con un font-size specificato, si risalirà fino al font-size del body: il font-size del titolo sarà quindi tre volte 10px, ovvero 30px.

Il discorso è un po' più sottile per ciò che riguarda il dimensionamento relativo: in questo caso bisognerà tener presente che la dimensione del font di default dei browser (o con carattere medio impostato nel browser se si tratta di IE) è di 16 pixel.

Le due misure del font di base per il body più diffuse sono 76% e 100.01% (la scelta di tali valori è ben illustrata nell'articolo Creare un CSS di base) a cui corrispondono rispettivamente un font-size di 12px e di 16px. Anche in questo caso gli em introducono un fattore moltiplicativo, basterà tener presente la corrispondenza tra pixel, em e font di base. Ad esempio:

body{font-size: 76%} /* 12px con il font-size di default sul browser*/
h1{font-size: 3em} /* 36px con il font-size di default sul browser*/
p.small{font-size:0.8em} /* circa 10px con il font-size di default sul browser*/

È possibile inoltre specificare dimensioni degli elementi in em: in questo caso basterà tener presente che le dimensioni effettive si ottengono applicando il fattore moltiplicativo del font-size attuale dell'elemento. Ecco un esempio:

body{font-size: 10px}
div.box{width: 40em} /* 400 pixel*/

Andrà comunque sempre tenuto in considerazione il font-size attuale dell'elemento. Un ulteriore esempio chiarirà il concetto.

body{font-size: 10px}
div.bigbox{font-size: 1.5em; width: 40em} /* font-size: 15px, larghezza: 600 pixel*/

Guide CSS

Responsive Desing, la guida

Progettare siti da fruire su dispositivi diversi è imprescindibile...

Guida CSS3

Scoprire e usare al meglio tutte le novità dell'ultima versione dei...

Guida CSS Tecniche essenziali

Testo, immagini, layout, form, liste, tabelle: soluzioni pronte per...

Altre guide

Newsletter @CSS

Ogni mercoledì, direttamente nella tua e-mail: guide, articoli, tutorial, FAQ e approfondimenti tecnici su CSS e Web Design.

Iscriviti alla newsletter

Altre newsletter

Corsi in aula

Corso Webmaster base

18 Giugno 2012 a Milano
Disponibilità: 6 Posti

Corso Google AdWords Base

25 Giugno 2012 a Milano
Disponibilità: 7 Posti

Corso Google AdWords Base

05 Giugno 2012 a Roma
Disponibilità: 7 Posti

Corso Webmaster base

11 Giugno 2012 a Roma
Disponibilità: 7 Posti