Bootstrap, da Twitter

Bootstrap è un toolkit di Twitter progettato per avviare lo sviluppo di webapp e siti.
Include CSS e HTML di base per tipografia, moduli, pulsanti, tabelle, griglie, navigazione e altro.

Avviso nerd: Bootstrap è costruito con Less ed è stato progettato per funzionare immediatamente tenendo conto dei browser moderni.

Collega il CSS

Per un inizio più rapido e semplice, copia questo snippet nella tua pagina web.

Usalo con meno

Un fan dell'utilizzo di Less? Nessun problema, basta clonare il repository e aggiungere queste righe:

Fork su GitHub

Download, fork, pull, problemi di file e altro con il repository ufficiale Bootstrap su Github.

Bootstrap su GitHub »

Storia

All'inizio di Twitter, gli ingegneri utilizzavano quasi tutte le librerie che conoscevano per soddisfare i requisiti del front-end. Bootstrap è nato come risposta alle sfide presentate e lo sviluppo ha accelerato rapidamente durante il primo Hackweek di Twitter.

Con l'aiuto e il feedback di molti ingegneri di Twitter, Bootstrap è cresciuto in modo significativo fino a comprendere non solo stili di base, ma modelli di design front-end più eleganti e durevoli.

Maggiori informazioni su dev.twitter.com ›

Supporto browser

Bootstrap è testato e supportato nei principali browser moderni come Chrome, Safari, Internet Explorer e Firefox.

Testato e supportato in Chrome, Safari, Internet Explorer e Firefox
  • Ultimo Safari
  • Google Chrome più recente
  • Firefox 4+
  • Internet Explorer 7+
  • Opera 11

Cosa è incluso

Bootstrap viene fornito completo di CSS compilati, modelli non compilati e di esempio.

  • Tutti i file .less originali
  • CSS completamente compilato e minimizzato
  • Documentazione completa della guida di stile
  • Esempio di modello di pagina (altri in arrivo)

Griglia predefinita

Il sistema di griglia predefinito fornito come parte di Bootstrap è una griglia a 16 colonne larga 940px. È un assaggio del popolare sistema a griglia 960, ma senza il margine/padding aggiuntivo sui lati sinistro e destro.

Esempio di markup della griglia

Come mostrato qui, è possibile creare un layout di base con due "colonne", ciascuna che copre un numero di 16 colonne di base che abbiamo definito come parte del nostro sistema di griglia. Vedere gli esempi seguenti per ulteriori variazioni.

  1. < classe div = "riga" >
  2. < classe div = "span6 colonne" >
  3. ...
  4. </div>
  5. < classe div = "span10 colonne" >
  6. ...
  7. </div>
  8. </div>
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
3
3
3
3
3
1
4
4
4
4
1/3
1/3
1/3
1/3
2/3
4
6
6
8
8
5
11
16

Colonne di compensazione

4
8 compensazione 4
1/3 offset 2/3 s
4 compensazione 4
4 compensazione 4
5 compensazione 3
5 compensazione 3
10 compensazione 6

Disposizione fissa

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.container>.

  1. <corpo>
  2. < classe div = "contenitore" >
  3. ...
  4. </div>
  5. </corpo>

Disposizione fluida

Una struttura della pagina fluida alternativa e flessibile con larghezze minime e massime e una barra laterale sinistra. Ottimo per app e documenti.

  1. <corpo>
  2. < classe div = "fluido contenitore" >
  3. < classe div = "barra laterale" >
  4. ...
  5. </div>
  6. < classe div = "contenuto" >
  7. ...
  8. </div>
  9. </div>
  10. </corpo>

Intestazioni e copia

Una gerarchia tipografica standard per strutturare le tue pagine web.

L'intera griglia tipografica si basa su due variabili Less nel nostro file preboot.less: @basefonte @baseline. La prima è la dimensione del carattere di base utilizzata in tutto e la seconda è l'altezza della linea di base.

Usiamo queste variabili, e un po' di matematica, per creare i margini, i padding e le altezze delle linee di tutti i nostri tipi e altro ancora.

h1. Titolo 1

h2. Titolo 2

h3. Titolo 3

h4. Titolo 4

h5. Titolo 5
h6. Titolo 6

Esempio paragrafo

Nullam quis risus eget urna mollis ornare vel eu leo. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nullam id dolor id nibh ultricies vehicula ut id elit.

Esempio di intestazione Ha un sottotitolo...

Varie elementi

Utilizzo di enfasi, indirizzi e abbreviazioni

<strong> <em> <address> <abbr>

Quando usare

I tag di enfasi ( <strong>e <em>) dovrebbero essere usati per indicare un'importanza o un'enfasi aggiuntiva di una parola o frase rispetto alla sua copia circostante. Utilizzare <strong>per l'importanza e <em>per enfatizzare lo stress .

Enfasi in un paragrafo

Fusce dapibus , tellus ac cursus commodo , tortor mauris condimentum nibh , ut fermentum massa justo sit amet risus. Mecenate faucibus mollis interdum. Nulla vitae elit libero, a pharetra augu.

Nota: è ancora possibile utilizzare <b>e <i>tag in HTML5 e non devono essere contrassegnati rispettivamente in grassetto e corsivo (sebbene se esiste un elemento più semantico, utilizzalo). <b>ha lo scopo di evidenziare parole o frasi senza dare ulteriore importanza, mentre <i>è principalmente per voce, termini tecnici, ecc.

Indirizzi

L' <address>elemento viene utilizzato per le informazioni di contatto per il suo antenato più vicino o per l'intero corpo del lavoro. Ecco come appare:

Twitter, Inc.
795 Folsom Ave, Suite 600
San Francisco, CA 94107
P: (123) 456-7890

Nota: ogni riga in un <address>deve terminare con un'interruzione di riga ( <br />) o essere racchiusa in un tag a livello di blocco (ad esempio, <p>) per strutturare correttamente il contenuto.

Abbreviazioni

Per abbreviazioni e acronimi, utilizzare il <abbr>tag ( <acronym>è deprecato in HTML5 ). Inserisci il modulo abbreviato all'interno del tag e imposta un titolo per il nome completo.

Citazioni in blocco

<blockquote> <p> <small>

Come citare

Per includere una citazione in blocco, avvolgi <blockquote>e <p>tag <small>. Usa l' <small>elemento per citare la tua fonte e otterrai un trattino &mdash;prima.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante venenatis dapibus posuere velit aliquet.

Il dottor Julius Hibbert

Elenchi

Non ordinato<ul>

  • Lorem ipsum dolor sit amet
  • Consectetur adipiscing elit
  • Intero molestie lorem a massa
  • Facilisis in pretium nisl aliquet
  • Nulla volutpat aliquam velit
    • Phasellus iaculis neque
    • Purus sodales ultricies
    • Vestibolo laoreet porttitor sem
    • Ac tristique libero volutpat at
  • Faucibus porta lacus fringilla vel
  • Aenean sit amet erat nunc
  • Eget porttitor lorem

Senza stile<ul.unstyled>

  • Lorem ipsum dolor sit amet
  • Consectetur adipiscing elit
  • Intero molestie lorem a massa
  • Facilisis in pretium nisl aliquet
  • Nulla volutpat aliquam velit
    • Phasellus iaculis neque
    • Purus sodales ultricies
    • Vestibolo laoreet porttitor sem
    • Ac tristique libero volutpat at
  • Faucibus porta lacus fringilla vel
  • Aenean sit amet erat nunc
  • Eget porttitor lorem

Ordinato<ol>

  1. Lorem ipsum dolor sit amet
  2. Consectetur adipiscing elit
  3. Intero molestie lorem a massa
  4. Facilisis in pretium nisl aliquet
  5. Nulla volutpat aliquam velit
  6. Faucibus porta lacus fringilla vel
  7. Aenean sit amet erat nunc
  8. Eget porttitor lorem

Descrizionedl

Elenchi di descrizione
Un elenco di descrizioni è perfetto per definire i termini.
Euismod
Vestibulum id ligula porta felis euismod semper eget lacinia odio sem nec elit.
Donec id elit non mi porta gravida at eget metus.
Malesuada porta
Etiam porta sem malesuada magna mollis euismod.

Costruire tavoli

<table> <thead> <tbody> <tr> <th> <td> <colspan> <caption>

I tavoli sono fantastici, per molte cose. Le grandi tabelle, tuttavia, hanno bisogno di un po' di attenzione per il markup per essere utili, scalabili e leggibili (a livello di codice). Ecco alcuni suggerimenti per aiutare.

Avvolgi sempre le intestazioni di colonna in modo <thead>tale che la gerarchia sia <thead>> <tr>> <th>.

Simile alle intestazioni di colonna, tutto il contenuto del corpo della tabella dovrebbe essere racchiuso in un <tbody>modo che la tua gerarchia sia <tbody>> <tr>> <td>.

Esempio: stili di tabella predefiniti

Tutte le tabelle verranno automaticamente stilizzate con solo i bordi essenziali per garantire la leggibilità e mantenere la struttura. Non c'è bisogno di aggiungere classi o attributi aggiuntivi.

# Nome di battesimo Cognome Lingua
1 Alcuni Uno inglese
2 Gio Confezione da sei inglese
3 Stu Ammaccatura Codice
  1. <tabella>
  2. ...
  3. </tabella>

Esempio: zebrato

Crea un po' di fantasia con i tuoi tavoli aggiungendo strisce zebrate: aggiungi semplicemente la .zebra-stripedclasse.

# Nome di battesimo Cognome Lingua
1 Alcuni Uno inglese
2 Gio Confezione da sei inglese
3 Stu Ammaccatura Codice

Nota: lo striping Zebra è un miglioramento progressivo non disponibile per i browser meno recenti come IE8 e precedenti.

  1. < classe tabella = "a strisce zebrate" >
  2. ...
  3. </tabella>

Esempio: strisce zebrate con TableSorter.js

Prendendo l'esempio precedente, miglioriamo l'utilità delle nostre tabelle fornendo funzionalità di ordinamento tramite jQuery e il plug-in Tablesorter . Fare clic sull'intestazione di qualsiasi colonna per modificare l'ordinamento.

# Nome di battesimo Cognome Lingua
1 Tuo Uno inglese
2 Gio Confezione da sei inglese
3 Stu Ammaccatura Codice
  1. <script src = "js/jquery/jquery.tablesorter.min.js" ></script>
  2. <script >
  3. $ ( funzione () {
  4. $ ( "table#sortTableExample" ). tablesorter ({ sortList : [[ 1 , 0 ]] });
  5. });
  6. </script>
  7. < classe tabella = "a strisce zebrate" >
  8. ...
  9. </tabella>

Stili predefiniti

A tutti i moduli vengono assegnati stili predefiniti per presentarli in modo leggibile e scalabile. Gli stili sono forniti per input di testo, elenchi di selezione, aree di testo, pulsanti di opzione, caselle di controllo e pulsanti.

Esempio di legenda del modulo
Qualche valore qui
Piccolo frammento di testo della guida
Esempio di legenda del modulo
@
Esempio di legenda del modulo
Nota: le etichette circondano tutte le opzioni per aree di clic molto più grandi e un modulo più utilizzabile.
a Tutti gli orari sono indicati come Pacific Standard Time (GMT -08:00).
Blocco di testo della guida per descrivere il campo sopra, se necessario.
 

Moduli impilati

Aggiungi .form-stackedall'HTML del tuo modulo e avrai le etichette in cima ai loro campi invece che alla loro sinistra. Funziona benissimo se i tuoi moduli sono brevi o hai due colonne di input per moduli più pesanti.

Esempio di legenda del modulo
Esempio di legenda del modulo
Piccolo frammento di testo della guida
Nota: le etichette circondano tutte le opzioni per aree di clic molto più grandi e un modulo più utilizzabile.
 

Bottoni

Per convenzione, i pulsanti vengono utilizzati per le azioni mentre i collegamenti vengono utilizzati per gli oggetti. Ad esempio, "Download" potrebbe essere un pulsante e "attività recenti" potrebbe essere un collegamento.

Per impostazione predefinita, tutti i pulsanti hanno uno stile grigio chiaro, ma è possibile applicare un certo numero di classi funzionali per stili di colore diversi. Queste classi includono una .primaryclasse blu, una classe azzurra .info, una classe verde .successe una classe rossa .danger. Inoltre, arrotolare i tuoi stili è facile.

Esempio di pulsanti

Gli stili dei pulsanti possono essere applicati a qualsiasi cosa con .btnapplicato. In genere ti consigliamo di applicarli solo a <a>, <button>e selezionare <input>elementi. Ecco come appare:

       

Dimensioni alternative

Ti piacciono i pulsanti più grandi o più piccoli? Fallo!

Stato disabile

Per i pulsanti che non sono attivi o sono disabilitati dall'app per un motivo o per l'altro, utilizzare lo stato disabilitato. Questo è .disabledper i collegamenti e :disabledper <button>gli elementi.

Collegamenti

Bottoni

 

Avvisi di base

div.alert-message

Messaggi di una riga per evidenziare il fallimento, il possibile fallimento o il successo di un'azione. Particolarmente utile per i moduli.

×

Santo guacamole! Meglio controllarti, non stai molto bene.

×

Oh schiocco! Cambia questo e quello e riprova.

×

Ben fatto! Hai letto correttamente questo messaggio di avviso.

×

Dritta! Questo è un avviso che richiede la tua attenzione, ma non è ancora una priorità enorme.

Blocca i messaggi

div.alert-message.block-message

Per i messaggi che richiedono un po' di spiegazione, abbiamo avvisi sullo stile del paragrafo. Questi sono perfetti per generare messaggi di errore più lunghi, avvisare un utente di un'azione in sospeso o semplicemente presentare informazioni per dare maggiore enfasi alla pagina.

×

Santo guacamole! Questo è un avvertimento! Meglio controllarti, non stai molto bene. Nulla vitae elit libero, a pharetra augu. Praesent commodo cursus magna, vel scelerisque nisl consectetur et.

×

Oh schiocco! Hai un errore! Cambia questo e quello e riprova. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Cras mattis consectetur purus sit amet fermentum.

×

Ben fatto! Hai letto correttamente questo messaggio di avviso. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Mecenate faucibus mollis interdum.

×

Dritta! Questo è un avviso che richiede la tua attenzione, ma non è ancora una priorità enorme.

Modali

I modali, finestre di dialogo o lightbox, sono ottimi per azioni contestuali in situazioni in cui è importante mantenere il contesto in background.

Suggerimenti sugli strumenti

I Twipsies sono super utili per aiutare un utente confuso e indirizzarlo nella giusta direzione.

Lorem ipsum dolar sit amet illo error ipsum veritatis aut iste perspiciatis iste voluptas natus illo quasi odit aut natus consequuntur consequuntur, aut natus illo voluptatem odit perspiciatis laudantium rem doloremque totam voluptas. Voluptasdicta eaque beatae aperiam ut enim voluptatem explicabo explicabo, voluptas quia odit fugit accusantium totam totam architecto explicabo sit quasi fugit fugit, totam doloremque unde sunt sed dicta quae accusantium fugit voluptas nemo voluptas voluptatem rem quae aut veritatis quasi quae.

sotto!
Giusto!
sinistra!
sopra!

Popover

Usa i popover per fornire informazioni sottotestuali a una pagina senza influire sul layout.

Titolo popover

Etiam porta sem malesuada magna mollis euismod. Mecenate faucibus mollis interdum. Morbi leo risus, porta ac consectetur ac, vestibolo a eros.

Bootstrap è stato creato con Preboot , un pacchetto open source di mixin e variabili da utilizzare insieme a Less , un preprocessore CSS per uno sviluppo web più semplice e veloce.

Scopri come abbiamo utilizzato Preboot in Bootstrap e come puoi utilizzarlo se scegli di eseguire Less sul tuo prossimo progetto.

Come usarlo

Usa questa opzione per sfruttare appieno le variabili Less, i mixin e la nidificazione di Bootstrap in CSS tramite javascript nel tuo browser.

  1. <link rel = "stylesheet/less" href = "less/bootstrap.less" media = "all" />
  2. <script src = "js/less-1.1.3.min.js" ></script>

Non senti la soluzione .js? Prova l'app Less Mac o usa Node.js per compilare quando distribuisci il codice.

Cosa è incluso

Ecco alcuni dei punti salienti di ciò che è incluso in Twitter Bootstrap come parte di Bootstrap. Vai al sito Web Bootstrap o alla pagina del progetto Github per scaricare e saperne di più.

Variabili

Le variabili in Less sono perfette per mantenere e aggiornare il tuo CSS senza mal di testa. Quando vuoi cambiare un valore di colore o un valore usato di frequente, aggiornalo in un punto e sei pronto.

  1. // Collegamenti
  2. @linkColore : #8b59c2;
  3. @linkColorHover : scurisce ( @linkColor , 10 );
  4.  
  5. // Grigi
  6. @nero : #000;
  7. @grayDark : schiarisce ( @nero , 25 %);
  8. @grigio : schiarire ( @nero , 50 %);
  9. @grayLight : schiarire ( @black , 70 %);
  10. @grayLighter : schiarire ( @nero , 90 %);
  11. @bianco : #fff;
  12.  
  13. // Colori accentati
  14. @blu : #08b5fb;
  15. @verde : #46a546;
  16. @rosso : #9d261d;
  17. @giallo : #ffc40d;
  18. @arancione : #f89406;
  19. @rosa : #c3325f;
  20. @viola : #7a43b6;
  21.  
  22. // Griglia di base
  23. @basefont : 13px ;
  24. @linea di base : 18px ;

Commentando

Less fornisce anche un altro stile di commento oltre alla normale /* ... */sintassi dei CSS.

  1. // Questo è un commento
  2. /* Anche questo è un commento */

Mescola il wazoo

I mixin sono fondamentalmente include o parziali per CSS, consentendoti di combinare un blocco di codice in uno solo. Sono ideali per proprietà con prefisso del fornitore come box-shadow, gradienti tra browser, pile di caratteri e altro ancora. Di seguito è riportato un esempio dei mixin inclusi in Bootstrap.

Pile di caratteri

  1. #carattere {
  2. . stenografia ( @weight : normale , @ size : 14px , @lineHeight : 20px ) {
  3. dimensione del carattere : @dimensione ;
  4. font - weight : @weight ;
  5. altezza della linea : @lineHeight ;
  6. }
  7. . sans - serif ( @weight : normal , @ size : 14px , @lineHeight : 20px ) {
  8. font - famiglia : "Helvetica Neue" , Helvetica , Arial , sans - serif ;
  9. dimensione del carattere : @dimensione ;
  10. font - weight : @weight ;
  11. altezza della linea : @lineHeight ;
  12. }
  13. . serif ( @weight : normale , @ size : 14px , @lineHeight : 20px ) {
  14. font - famiglia : "Georgia" , Times New Roman , Times , sans - serif ;
  15. dimensione del carattere : @dimensione ;
  16. font - weight : @weight ;
  17. altezza della linea : @lineHeight ;
  18. }
  19. . spazio unico ( @weight : normale , @size : 12px , @lineHeight : 20px ) {
  20. font - famiglia : "Monaco" , Courier New , monospace ;
  21. dimensione del carattere : @dimensione ;
  22. font - weight : @weight ;
  23. altezza della linea : @lineHeight ;
  24. }
  25. }

Gradienti

  1. #gradiente {
  2. . orizzontale ( @startColor : #555, @endColor: #333) {
  3. colore di sfondo : @endColor ;
  4. sfondo - ripetizione : ripetizione - x ;
  5. sfondo - immagine : - khtml - gradiente ( lineare , in alto a sinistra, in alto a destra , da ( @startColor ), a ( @endColor )); // Conquistatore
  6. immagine di sfondo : -moz - linear - gradiente ( a sinistra , @startColor , @endColor ); // FF 3.6+
  7. immagine di sfondo : -ms - linear - gradiente ( sinistra , @startColor , @endColor ) ; // IE10
  8. sfondo - immagine : - webkit - gradiente ( lineare , in alto a sinistra, in alto a destra , colore - stop ( 0 %, @startColor ), colore - stop ( 100 %, @endColor )); // Safari 4+, Chrome 2+
  9. immagine di sfondo : -webkit -lineare - gradiente ( sinistra , @startColor , @endColor ) ; _ // Safari 5.1+, Chrome 10+
  10. immagine di sfondo : -o - lineare - gradiente ( sinistra , @startColor , @endColor ) ; // Opera 11.10
  11. immagine di sfondo : gradiente lineare ( sinistra , @startColor , @endColor ) ; // Lo standard
  12. }
  13. . verticale ( @startColor : #555, @endColor: #333) {
  14. colore di sfondo : @endColor ;
  15. sfondo - ripetizione : ripetizione - x ;
  16. sfondo - immagine : - khtml - gradiente ( lineare , in alto a sinistra , in basso a sinistra , da ( @startColor ), a ( @endColor )); // Conquistatore
  17. immagine di sfondo : -moz -lineare - gradiente ( @startColor , @endColor ) ; _ // FF 3.6+
  18. immagine di sfondo : -ms -lineare - gradiente ( @startColor , @endColor ) ; _ // IE10
  19. sfondo - immagine : - webkit - gradiente ( lineare , in alto a sinistra , in basso a sinistra , colore - stop ( 0 %, @startColor ), colore - stop ( 100 %, @endColor )); // Safari 4+, Chrome 2+
  20. immagine di sfondo : -webkit -lineare - gradiente ( @startColor , @endColor ) ; _ // Safari 5.1+, Chrome 10+
  21. immagine di sfondo : -o - gradiente lineare ( @startColor , @endColor ) ; _ // Opera 11.10
  22. immagine di sfondo : gradiente lineare ( @startColor , @endColor ) ; // Lo standard
  23. }
  24. . direzionale ( @startColor : #555, @endColor: #333, @deg: 45deg) {
  25. ...
  26. }
  27. . verticale - tre - colori ( @startColor : #00b3ee, @midColor: #7a43b6, @colorStop: 50%, @endColor: #c3325f) {
  28. ...
  29. }
  30. }

Operazioni e sistema di rete

Divertiti ed esegui un po' di matematica per generare mixin flessibili e potenti come quello qui sotto.

  1. // Griglia
  2. @gridColumns : 16 ;
  3. @gridColumnWidth : 40px ;
  4. @gridGutterWidth : 20px ;
  5. @siteWidth : ( @gridColumns * @gridColumnWidth ) + ( @gridGutterWidth * ( @gridColumns - 1 ));
  6.  
  7. // Sistema a griglia
  8. . contenitore {
  9. larghezza : @siteWidth ;
  10. margine : 0 automatico ;
  11. . clearfix ();
  12. }
  13. . colonne ( @columnSpan : 1 ) {
  14. larghezza : ( @gridColumnWidth * @columnSpan ) + ( @gridGutterWidth * ( @columnSpan - 1 ));
  15. }
  16. . offset ( @columnOffset : 1 ) {
  17. margine sinistro : ( @gridColumnWidth * @columnOffset ) + ( @gridGutterWidth * ( @columnOffset - 1 ) ) + @extraSpace ;
  18. }