Layout a griglia con Blueprint

di: Gianluca Brindisi     30 Ottobre 2007

Passiamo ora ad affrontare il problema del padding. La soluzione che ci offre Blueprint è quella di annidare un div con applicata la classe .box ad una zona del nostro layout, in questo modo (esempio):

<div id="header" class="column span-24"></div>
<div id="#box" class="column span-24">
    <div class="column span-8 border"></div>
    <div class="column span-8 append-8 last"></div>
</div>
<div id="contenuto" class="column span-24">
    <div id="principale" class="column span-15 colborder"><div class="box"><p><img src="i/icona_css.png" class="pull-1">Testo testo testo testo</p></div></div>
    <div id="sidebar" class="column span-8 last"></div>
</div>
<div id="footer" class="column span-24"></div>

Tramite l'applicazione di .box ad un div interno, si va a creare un padding che non va a concorrere nel box model degli elementi strutturali del layout. In questo modo siamo salvaguardati dal rischio di visualizzare il nostro lavoro in modo disorganico e disomogeneo su browser differenti. Il rovescio della medaglia è quello di ottenere, in caso avessimo molte zone necessitanti di un padding, un risultato affetto da divite.

Ultimo elemento da descrivere è quello che riguarda le horizontal rules <hr>. Ci vengono messe a disposizione due soluzioni per implementare un <hr> all'interno di una colonna:

  • La prima, che non necessita di markup aggiuntivo ed è autmaticamente invocata, genera una linea orizzontale di 0.1em di altezza che si preoccupa di mantenere il ritmo verticale.
  • La seconda, da invocare tramite la classe .space, crea sempre una linea orizzontale rispettosa del ritmo verticale ma invisibile (di colore bianco, nello specifico).

Portiamo avanti il nostro esempio:

<div id="header" class="column span-24"></div>
<div id="#box" class="column span-24">
    <div class="column span-8 border"><hr class="space" /></div>
    <div class="column span-8 append-8 last"></div>
</div>
<div id="contenuto" class="column span-24">
    <div id="principale" class="column span-15 colborder"><div class="box"><p><img src="i/icona_css.png" class="pull-1">Testo testo <hr />testo testo</p></div></div>
    <div id="sidebar" class="column span-8 last"></div>
</div>
<div id="footer" class="column span-24"></div>

Note e conclusioni

Giunti alla conclusione è doveroso fare alcune considerazioni finali. La prima riguarda la semplicità  di Blueprint: il framework è davvero immediato e per imparare ad utilizzarlo basta leggere i commenti nei relativi file. Questa semplicità  va a cozzare contro la principale critica che viene rivolta a questi strumenti, cioè che, per poterci lavorare, si è costretti ad imparare metodologie estranee allo sviluppo canonico con i fogli di stile. In realtà l'unica cosa che potrete vedere è solo del codice CSS scritto bene, tutt'altro che diseducativo.

La seconda considerazione riguarda la flessibilità . Ogni singola classe incontrata in questo articolo è facilmente modificabile e deve esserlo secondo le necessità  dei vostri progetti. Questo è particolarmente vero per le classi che aggiungono dettagli non strutturali come bordi, linee orizzontali e colori. Non accontentavi di utilizzare gli strumenti che Blueprint vi mette a disposizione così come sono, ma sentitevi assolutamente liberi di piegarli alle vostre esigenze.

Detto questo vi lascio come di consueto alcuni link di approfondimento:

Gli esempi sono disponibili per il download.

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