Bootstrap 3 succintamente migrazione dalla versione 2 alla versione 3

Quindi cosa c'entra la migrazione da Bootstrap 2 a Bootstrap 3? In verità, non molto. 

Nonostante i molti cambiamenti, non c'è ancora una grande quantità di modifiche effettive e le modifiche che devi apportare sono generalmente solo rinomina di classe, dove applicabile. 

Una delle cose che potresti voler fare, specialmente se stai usando BS solo per lo sviluppo di applicazioni web in generale e non per dispositivi mobili o per qualsiasi tipo di design reattivo, è disabilitare le funzionalità di risposta in BS3. 

Questo è abbastanza facile da fare, ma per niente consigliato. 

È possibile ottenere ciò come segue: 

  • Non aggiungere il metatag contenente la larghezza del dispositivo e altre informazioni di dimensionamento iniziali all'inizio del documento. 
  • Esegui l'override del larghezzasui tuoi elementi che sono contrassegnati con una classe di contenitore, e assicurati di usarlo style = 'width: xxx! important'quando lo fai. 
  • Assicurati che tutte le sostituzioni della larghezza vengano elaborate dopo sono state caricate le principali regole CSS di Bootstrap. 
  • Rimuovi tutti dal collasso e dall'espansione di comportamenti e regole da tutti barra di navigazionecostruisce all'interno del tuo documento. 
  • Cambiare tutte le classi di layout della griglia da utilizzare solo col-XS- *classi e nessuno degli altri quattro livelli. 

Se scegli come target IE8 e IE9, dovrai comunque assicurarti di utilizzare respond.js, anche se disabiliti la reattività come descritto. 

Cambiamenti di classe

Come ho detto prima, ci sono state molte modifiche ai nomi delle classi tra le due versioni e molte classi sono state deprecate e ritirate. 

Una cosa che (e che già ha se guardi Stack Overflow) è una sorpresa per molti è il ritiro delle classi di larghezza del fluido. 

Nella versione 2, se si desiderava un contenitore elastico a larghezza intera, si doveva fare qualcosa di simile al seguente: 

Un titolo

Qualche testo di paragrafo

Nella versione 3 il contenitoree row-fluidole classi non esistono più. 

Quindi come si ottiene un contenitore di liquidi? Semplice: non lo fai. 

Piuttosto che avvolgere i tuoi contenuti in a contenitoree poi a riga, semplicemente non li avvolgi in nulla. 

Puoi ancora utilizzare il sistema della griglia per fornire contenitori che racchiudono i tuoi contenuti, in modo che le cose si integrino bene con la griglia di Bootstrap, ma non è più necessario mettere un contenitore intorno a quelle raccolte di

elementi prima di utilizzarli. 

In effetti, se usi contenitoree riga(le versioni non fluide esistono ancora) quindi ti ritroverai con tutti i tuoi contenuti nella colonna centrale da 1024 pixel, e sarai in grado di usare l'intera larghezza della pagina se non lo fai. 

Migrazione del sistema a griglia 

Quindi il prossimo cambiamento di classe più grande è il sistema di griglia stesso. 

Nella versione 2 in genere hai creato griglie nel modo seguente: 

Contenuto qui
Contenuto qui

Questo codice ti darebbe due contenitori che riempivano ordinatamente i 12 quadrati di griglia orizzontalmente che avevano tutti i layout (tipicamente una barra laterale). 

Nella versione 3, la griglia di "livello medio" ora è l'equivalente della v2 campataclassi, quindi per riscrivere il codice precedente per V3 devi semplicemente fare quanto segue: 

Contenuto qui
Contenuto qui

Tuttavia, mentre la versione 2 aveva solo un livello di dimensione della griglia, la versione 3 ora ha quattro livelli. Ogni livello è personalizzato per il dispositivo target principale atteso per il quale il prodotto finale verrà eseguito. 

Queste unità della griglia sono ora denominate come segue: 

  • Piccoli dispositivi extra: col-XS- *
  • Piccoli dispositivi: col-SM- *
  • Dispositivi medi: col-MD- *
  • Grandi dispositivi: col-LG- *

Le query multimediali sono utilizzate internamente per BS3 per decidere solo quale delle suddette classi di griglia utilizzare, e le diverse dimensioni sono definite come segue: 

  • Extra piccolo: larghezza dello schermo inferiore a 768 pixel 
  • Piccolo: larghezza di visualizzazione maggiore o uguale a 768 pixel o inferiore a 992 pixel 
  • Medio: larghezza di visualizzazione maggiore o uguale a 992 pixel o inferiore a 1.200 pixel 
  • Grande: larghezza di visualizzazione maggiore o uguale a 1.200 pixel 

È possibile codificare più versioni della griglia per BS3 per decidere quale tipo utilizzare quando si scelgono più display. Ad esempio se hai fatto quanto segue: 

Contenuto qui
Contenuto qui
Contenuto qui
Contenuto qui
Contenuto qui
Contenuto qui
Contenuto qui
Contenuto qui

BS3 nasconderà e mostrerà i contenitori come richiesto, in base alla larghezza della visualizzazione del dispositivo e al funzionamento delle query multimediali. 

Come con le versioni precedenti del sistema a griglia, ci sono 12 colonne orizzontali in tutte le diverse dimensioni, quindi, indipendentemente dalla dimensione della griglia, avrai sempre 12 griglie su ogni dispositivo. 

Tuttavia, la larghezza della colonna cambia, pertanto potrebbe essere necessario pianificare il contenuto di tali griglie per sfruttare le diverse dimensioni. Le dimensioni per ognuna di esse sono le seguenti: 

  • col-XS- *= Ridimensionamento automatico, senza dimensioni fisse 
  • col-SM- *= 60 pixel 
  • col-MD- *= 78 pixel 
  • col-LG- *= 95 pixel 

Il margine di gronda in tutti i casi rimarrà a 15 pixel su ciascun lato del contenitore della griglia, fornendo una grondaia complessiva di 30 pixel. Questa dimensione sarà coerente indipendentemente dal livello di dimensioni della griglia che stai utilizzando. 

Nesting e offset funzionano come hanno fatto in precedenza, ma come con le griglie stesse, con una leggera ridenominazione delle classi effettive utilizzate. 

Per applicare un offset, basta usare col-md-Offset- *, ricordando di sostituire il mdcon xs, sm, o lgse necessario, in base alla dimensione della griglia. 

La nidificazione avviene semplicemente annidando i contenitori sotto il controllo di col-xx- *classi l'una dentro l'altra, dove si ridimensionano e si comportano come nelle precedenti versioni BS. 

I seguenti esempi mostrano il modo corretto per ottenere entrambe queste tecniche: 

Livello 1: .col-md-9
Livello 2: .col-md-6
Livello 2: .col-md-6

Questo esempio ti fornirà una griglia simile alla seguente: 

.col-md-4
.col-md-4 .col-md-offset-4
.col-md-3 .col-md-offset-3
.col-md-3 .col-md-offset-3
.col-md-6 .col-md-offset-3

Questo esempio ti darà un layout come segue: 

BS3 porta anche qualcosa di nuovo al tavolo quando si tratta di compensare e nidificare, e questo è qualcosa chiamato ordine delle colonne. 

Se vuoi che le tue colonne vengano presentate in un ordine diverso da come le definisci nel tuo documento HTML, puoi usare il nuovo col-xx-pull *e col-xx-push *classi per spingere o tirare i tuoi schemi di griglia nell'ordine che desideri. Per esempio: 

8 colonne di contenuti
4 colonne di contenuti

Se li rendi nel tuo documento, come previsto, otterrai quanto segue: 

Se, tuttavia, si modifica il codice precedente per aggiungere i modificatori push e pull come segue: 

8 colonne di contenuti
4 colonne di contenuti

Quando esegui il rendering del tuo documento, dovresti vedere il tuo layout cambiare come segue: 

Infine, se stai usando il Di meno Versioni origine CSS di Bootstrap, hai il controllo completo sulle dimensioni della griglia modificando le seguenti variabili: 

  • @ grid-colonne: controlla il numero di griglie in orizzontale (predefinito 12) 
  • @ Griglia gronda larghezza: il margine totale attorno a ciascuna griglia (predefinito 30 pixel) 
  • @ Grid-flottante breakpoint: la dimensione minima sotto la quale abbiamo dispositivi "extra small" (768 pixel predefiniti) 

Quindi ora che abbiamo il nuovo sistema di rete sotto controllo, c'è qualcos'altro che devi sapere? 

Il più astuto di voi potrebbe pensare: "Ma è pazzesco, con tutte quelle serie multiple di

elementi e offset con col-xx-xxclassi, tutte per display di dimensioni diverse, potrei anche creare quattro siti diversi, con quattro diverse risoluzioni in mente! "Ad essere sincero, non ti biasimo, tranne che per una cosa: ognuno di questi nuovi livelli di dimensione del layout sono progettato per lavorare sullo stesso markup, allo stesso tempo, e occupare lo stesso spazio. 

Prendiamo il codice nell'esempio di codice precedente 4 e lo riscriviamo per farlo nel modo consigliato: 

Contenuto qui
Contenuto qui

Ok, quindi potresti finire con l'elenco delle classi da zero sui tuoi elementi, ma un set di markup si adatterà a tutte le dimensioni del display e ridimensionerà se necessario. 

Funziona anche con le varie classi di offset, ordine e annidamento.

Altre migrazioni  

Oltre a quelli che abbiamo già discusso, anche i seguenti nomi di classe devono essere modificati se si sta migrando da un layout V2 a un layout V3 (Nota: la seguente tabella è stata presa direttamente dai documenti Bootstrap 3 ed era corretta al momento della stesura, poiché Bootstrap matura, tuttavia, ciò potrebbe non rimanere tale). 

Bootstrap versione 2 nome della classe Bootstrap versione 3 nome della classe
.Controllo-group.warning .Controllo-group.error .Controllo-group.success .form-group.has- *
.checkbox.inline .radio.inline .casella-Inline .Radio-Inline
.input-prepend .input-accodamento .input-gruppo
.Aggiungi su .input-gruppo-addon
.img-polaroid .img-miniature
ul.unstyled .list-unstyled
ul.inline .list-Inline
.smorzato .text-silenziato
.etichetta .etichetta .label-default
.etichetta-importante .label-pericolo
.text-error .text-pericolo
.tabella .error .tavolo .danger
.bar .barra di avanzamento
.bar-*
.barra di avanzamento-*
.fisarmonica .Pannello-group
.accordion-gruppo .pannello .panel-predefinito
.accordion-rubrica .Pannello-rubrica
.fisarmonica corpo .Pannello-collasso
.fisarmonica interno .Pannello corpo

Come accennato in precedenza, la maggior parte delle modifiche sono state apportate per portare la conformità allo schema di denominazione utilizzato dalle varie classi. Ma molti di loro sono stati rinominati perché il loro scopo generale è cambiato. 

Entreremo più in dettaglio nei prossimi tutorial di questa serie, ma per ora, se stai facendo una conversione, la Tabella 2 ti dirà tutto ciò che ti serve per retargetare un layout v2 alla v3. 

Si potrebbe voler considerare l'utilizzo di un lavoro personalizzato in qualcosa come un'attività Grunt.js, in modo che quando si esegue il sistema di build, queste modifiche vengano eseguite automaticamente. Ciò consentirà ai tuoi sviluppatori di rimanere produttivi utilizzando la v2 mentre gradualmente passeranno alla v3. 

Quindi, cosa è stato aggiunto esattamente a Bootstrap che è nuovo e che cosa è stato rimosso? 

Inizieremo con ciò che è stato rimosso e esamineremo ciò che è stato aggiunto in modo più dettagliato nel tutorial su "Funzionalità CSS modificate". È più importante sapere cosa è stato rimosso in questo tutorial, poiché questo è il tutorial che tu hai probabile riferimento a quando si esegue la migrazione dei propri layout 

Innanzitutto cominceremo con ciò che è stato rimosso in merito ai moduli e, sfortunatamente, è abbastanza. Non abbiamo più un tipo specifico per un modulo di ricerca form-Ricerca, e la barra ombreggiata si trova in genere ai piedi di un modulo form-azioniè stato anche deprecato in v3. 

Inoltre, la classe utilizzata in genere per visualizzare errori di convalida è stata eliminata, Controllo-gruppo-info, e la sua controparte di aiuto, help-Inline. Nessuna di queste quattro classi ha alcuna sostituzione raccomandata nella base di codice v3, il che significa che per costruirle equivalenti, sarà necessario utilizzare altri elementi e classi dove applicabile. 

Continuando con le forme, il principale controllila classe usata per avvolgere interi set di controlli è andata, insieme a controlli fila. Invece, si consiglia di utilizzare rigao il nuovo forma-gruppo classe. Anche le forme hanno perso la maggior parte delle classi di dimensionamento; le classi di dimensioni fisse come input-mini, input-piccolo, input-mezzo, input-grande, input-xlarge, e input-XXLargeora sono andati tutti via, insieme alla classe di controllo a livello di blocco ingresso-block-level. Invece, ora si consiglia di controllare le dimensioni degli elementi del modulo usando modulo di controlloin combinazione con le nuove dimensioni e layout disponibili nel sistema di griglia. 

Da un punto di vista del controllo individuale, il inversole classi sono state rimosse dai pulsanti e altri controlli simili e abbiamo anche perso il dropdown-menu secondarioclasse a favore di solo utilizzando i pulsanti a discesa divisi per creare la stessa funzionalità. 

Per le schede, il schede-sinistra, schede-destra, e schede-indicatile classi non esistono più, il che significa che ora abbiamo solo la possibilità di inserire le schede nella parte superiore del contenuto, allineato a sinistra. 

Rimanendo con le schede, è stata rimossa anche la classe per lavorare con il contenuto in un'impostazione di tabulazione basata su pillola, il che significa che pillola-panepillola-contentdovrebbe ora usare il generale tab-contenuti e scheda-riquadroclassi. 

Infine, i vari barra di navigazionele lezioni non sono senza vittime: navbar-inner, separatore navbar verticalenav-list, e nav-headernon fanno più parte del quadro. 

Nella maggior parte dei casi, non ci sono equivalenti diretti in v3 per queste classi, sebbene ci siano alcune somiglianze in altre classi che potrebbero rivelarsi utili. Per esempio, nav-liste nav-headerpuò essere ricreato usando Elencogruppi. 

C'è una tabella di riferimento rapida a tutti questi nella guida alla migrazione sul sito Web Bootstrap 3.

Questo tutorial rappresenta un capitolo di Bootstrap 3 in modo succinto, un eBook gratuito del team di Syncfusion.