Bootstrap è costruito su una griglia reattiva a 12 colonne. Abbiamo anche incluso layout a larghezza fissa e fluida basati su quel sistema.
Bootstrap fa uso di elementi HTML e proprietà CSS che richiedono l'uso del doctype HTML5. Assicurati di includerlo all'inizio di ogni pagina Bootstrapped nel tuo progetto.
- <!DOCTYPE html>
- < lingua html = "it" >
- ...
- </html>
All'interno del file scaffolding.less , impostiamo la visualizzazione globale di base, la tipografia e gli stili di collegamento. Nello specifico noi:
background-color: white;
ilbody
@baseFontFamily
, @baseFontSize
, e @baseLineHeight
come base tipografica@linkColor
e applica le sottolineature del collegamento solo su:hover
A partire da Bootstrap 2, il tradizionale ripristino CSS si è evoluto per utilizzare elementi di Normalize.css , un progetto di Nicolas Gallagher che alimenta anche HTML5 Boilerplate .
Il nuovo reset si trova ancora in reset.less , ma con molti elementi rimossi per brevità e precisione.
Il sistema di griglia predefinito fornito in Bootstrap utilizza 12 colonne che vengono visualizzate con larghezze di 724 px, 940 px (predefinito senza CSS reattivo incluso) e 1170 px. Al di sotto dei viewport di 767px, le colonne diventano fluide e si impilano verticalmente.
- < classe div = "riga" >
- <div class = "span4" > ... </div>
- <div class = "span8" > ... </div>
- </div>
Come mostrato qui, è possibile creare un layout di base con due "colonne", ciascuna che copre un numero di 12 colonne di base che abbiamo definito come parte del nostro sistema di griglia.
- < classe div = "riga" >
- <div class = "span4" > ... </div>
- <div class = "span4 offset4" > ... </div>
- </div>
Con il sistema di griglia statico (non fluido) in Bootstrap, il nesting è facile. Per annidare i tuoi contenuti, aggiungi semplicemente una nuova .row
e serie di colonne all'interno di una colonna .span*
esistente ..span*
Le righe nidificate dovrebbero includere un set di colonne che si sommano al numero di colonne del suo genitore. .span3
Ad esempio, due colonne nidificate devono essere posizionate all'interno di un file .span6
.
- < classe div = "riga" >
- < classe div = "span6" >
- Colonna di livello 1
- < classe div = "riga" >
- <div class = "span3" > Livello 2 </div>
- <div class = "span3" > Livello 2 </div>
- </div>
- </div>
- </div>
Il sistema a griglia fluida utilizza le percentuali per le larghezze delle colonne anziché i pixel fissi. Ha anche le stesse variazioni reattive del nostro sistema a griglia fissa, garantendo proporzioni adeguate per risoluzioni e dispositivi chiave dello schermo.
Rendi fluida qualsiasi riga semplicemente cambiando .row
in .row-fluid
. Le colonne rimangono esattamente le stesse, rendendo estremamente semplice passare da layout fissi a layout fluidi.
- < classe div = "fluido riga" >
- <div class = "span4" > ... </div>
- <div class = "span8" > ... </div>
- </div>
La nidificazione con le griglie fluide è leggermente diversa: il numero di colonne nidificate non deve necessariamente corrispondere al genitore. Invece, le tue colonne vengono reimpostate a ogni livello perché ogni riga occupa il 100% della colonna principale.
- < classe div = "fluido riga" >
- < classe div = "span12" >
- Livello 1 della colonna
- < classe div = "fluido riga" >
- <div class = "span6" > Livello 2 </div>
- <div class = "span6" > Livello 2 </div>
- </div>
- </div>
- </div>
Variabile | Valore di default | Descrizione |
---|---|---|
@gridColumns |
12 | Numero di colonne |
@gridColumnWidth |
60px | Larghezza di ogni colonna |
@gridGutterWidth |
20px | Spazio negativo tra le colonne |
In Bootstrap sono integrate una manciata di variabili per la personalizzazione del sistema di griglia predefinito da 940 pixel, documentato sopra. Tutte le variabili per la griglia sono memorizzate in variabili.less.
Modificare la griglia significa cambiare le tre @grid*
variabili e ricompilare Bootstrap. Modificare le variabili della griglia in variabili.less e utilizzare uno dei quattro modi documentati per ricompilare . Se stai aggiungendo più colonne, assicurati di aggiungere il CSS per quelle in grid.less.
La personalizzazione della griglia funziona solo al livello predefinito, la griglia 940px. Per mantenere gli aspetti reattivi di Bootstrap, dovrai anche personalizzare le griglie in responsive.less.
Il layout centrato e di 940 px di larghezza di default per quasi tutti i siti Web o le pagine forniti da un singolo file <div class="container">
.
- <corpo>
- < classe div = "contenitore" >
- ...
- </div>
- </corpo>
<div class="container-fluid">
offre una struttura della pagina flessibile, larghezze minime e massime e una barra laterale sinistra. È ottimo per app e documenti.
- < classe div = "fluido contenitore" >
- < classe div = "fluido riga" >
- < classe div = "span2" >
- <!--Contenuto della barra laterale-->
- </div>
- < classe div = "span10" >
- <!--Contenuto del corpo-->
- </div>
- </div>
- </div>
Le media query consentono CSS personalizzati in base a una serie di condizioni (rapporti, larghezze, tipo di visualizzazione, ecc.), ma di solito si concentra su min-width
e max-width
.
Usa le media query in modo responsabile e solo come inizio per il tuo pubblico mobile. Per progetti più grandi, considera basi di codice dedicate e non livelli di query multimediali.
Bootstrap supporta una manciata di media query in un unico file per rendere i tuoi progetti più appropriati su diversi dispositivi e risoluzioni dello schermo. Ecco cosa è incluso:
Etichetta | Larghezza del layout | Larghezza della colonna | Larghezza della grondaia |
---|---|---|---|
Smartphone | 480px e inferiori | Colonne fluide, nessuna larghezza fissa | |
Da smartphone a tablet | 767px e inferiori | Colonne fluide, nessuna larghezza fissa | |
Compresse per ritratti | 768px e oltre | 42px | 20px |
Predefinito | 980px e oltre | 60px | 20px |
Ampio display | 1200px e oltre | 70px | 30px |
Per garantire che i dispositivi visualizzino correttamente le pagine reattive, includi il meta tag viewport.
- <meta name = "viewport" content = "width=device-width, initial-scale=1.0" >
Bootstrap non include automaticamente queste query multimediali, ma comprenderle e aggiungerle è molto semplice e richiede una configurazione minima. Hai alcune opzioni per includere le funzionalità reattive di Bootstrap:
Perché non includerlo e basta? A dire il vero, non tutto deve essere reattivo. Invece di incoraggiare gli sviluppatori a rimuovere questa funzione, riteniamo che sia meglio abilitarla.
- /* Telefoni orizzontali e giù */
- @media ( larghezza massima : 480px ) { ... } _
- /* Da telefono orizzontale a tablet verticale */
- @media ( larghezza massima : 767px ) { ... } _
- /* Tablet da verticale a orizzontale e desktop */
- @media ( larghezza minima : 768px ) e ( larghezza massima : 979px ) { ... } _ _
- /* Desktop grande */
- @media ( larghezza minima : 1200px ) { ... } _
Per uno sviluppo più rapido e ottimizzato per i dispositivi mobili, utilizza queste classi di utilità di base per mostrare e nascondere i contenuti in base al dispositivo.
Utilizzare su base limitata ed evitare di creare versioni completamente diverse dello stesso sito. Invece, usali per completare la presentazione di ogni dispositivo.
Ad esempio, potresti mostrare un <select>
elemento per la navigazione su layout mobili, ma non su tablet o desktop.
Qui è mostrata una tabella delle classi che supportiamo e il loro effetto su un determinato layout di media query (etichettato per dispositivo). Si possono trovare in responsive.less
.
Classe | Telefoni480px e inferiori | Compresse767px e inferiori | Desktop768px e oltre |
---|---|---|---|
.visible-phone |
Visibile | Nascosto | Nascosto |
.visible-tablet |
Nascosto | Visibile | Nascosto |
.visible-desktop |
Nascosto | Nascosto | Visibile |
.hidden-phone |
Nascosto | Visibile | Visibile |
.hidden-tablet |
Visibile | Nascosto | Visibile |
.hidden-desktop |
Visibile | Visibile | Nascosto |
Ridimensiona il browser o carica su dispositivi diversi per testare le classi di cui sopra.
I segni di spunta verdi indicano che la classe è visibile nella finestra corrente.
Qui, i segni di spunta verdi indicano che la classe è nascosta nella finestra corrente.