Bootstrap 3 Succinct Migrarea din Versiunea 2 la Versiunea 3

Deci, ce implica migrarea de la Bootstrap 2 la Bootstrap 3? Într-adevăr, nu prea mult. 

În ciuda numeroaselor modificări, nu există încă o sumă enormă pentru ca dvs. să vă schimbați efectiv, iar schimbările pe care trebuie să le faceți sunt, în general, doar redenumirea clasei, acolo unde este cazul. 

Unul dintre lucrurile pe care ați putea dori să le faceți, mai ales dacă ați folosit BS doar pentru dezvoltarea aplicațiilor web generale și nu pentru dispozitive mobile sau pentru orice fel de design receptiv, este să dezactivați funcțiile responsabile din BS3. 

Acest lucru este destul de ușor de făcut, dar deloc recomandat. 

Puteți obține acest lucru după cum urmează: 

  • Nu adăugați metaetichetă care conține lățimea dispozitivului și alte informații despre dimensionarea inițială în capul documentului. 
  • Nu faceti griji lăţimepe elementele care sunt marcate cu o clasă de recipient, și asigurați-vă că utilizați style = 'width: xxx! important'când faceți acest lucru. 
  • Asigurați-vă că sunt prelucrate toate suprascrierile de lățime după principalele reguli CSS Bootstrap au fost încărcate. 
  • Eliminați toate colapsul și extinderea comportamentelor și regulilor de la toate navbarconstruiește în documentul dvs.. 
  • Modificați toate clasele de aspect al rețelei de utilizat numai col-xs- *clase și nici unul dintre celelalte patru nivele. 

Dacă vizați IE8 și IE9, va trebui totuși să vă asigurați că utilizați answer.js, chiar dacă dezactivați reacția așa cum este prezentat. 

Schimbări de clasă

După cum am menționat mai devreme, au fost multe schimbări de nume de clasă între cele două versiuni și multe clase au fost depreciate și retrase. 

Un lucru care va fi (si deja are daca te uiti la Overflow de stive) este o surpriza pentru multi este retragerea clasei de lățime a fluidului. 

În versiunea 2, dacă doriți un container elastic de lățime întreagă, atunci a trebuit să faceți ceva de genul: 

Un titlu

Un text paragraf

În versiunea 3 recipientși rând-fluidclasele nu mai există. 

Deci, cum obții un recipient pentru lichide? Simplu: nu. 

Mai degrabă decât înfășurați conținutul într-o recipientși apoi a rând, pur și simplu nu le înfășurați în nimic. 

Puteți utiliza în continuare sistemul de grilă pentru a furniza containere pentru conținutul dvs., astfel încât lucrurile să se potrivească bine cu grila Bootstrap, dar nu mai trebuie să puneți un container în jurul acelor colecții de

înainte de a le utiliza. 

De fapt, dacă utilizați recipientși rând(versiunile non-lichide există în continuare), atunci veți ajunge la tot conținutul dvs. să fiți în coloana centrală de 1024 pixeli și să puteți utiliza întreaga lățime a paginii dacă nu. 

Migrarea sistemului Grid 

Apoi, schimbarea celei mai mari clase este sistemul propriu-zis al rețelei. 

În versiunea 2, ați creat în mod tipic rețele în modul următor: 

Conținutul aici
Conținutul aici

Acest cod vă va oferi două containere care au umplut cu grijă cele 12 patrate grilă orizontal pe care toate planșele au avut (de obicei o bară laterală). 

În versiunea 3, grila "nivel mediu" este acum echivalentul v2 deschidereastfel încât să rescrieți codul anterior pentru V3, pur și simplu faceți următoarele: 

Conținutul aici
Conținutul aici

Cu toate acestea, în timp ce versiunea 2 avea doar un nivel de dimensiune a rețelei, versiunea 3 are acum patru niveluri. Fiecare nivel este adaptat pentru dispozitivul țintă principal așteptat pe care anticipați că produsul dvs. final va fi rulat. 

Aceste unități de rețea sunt denumite acum după cum urmează: 

  • Dispozitive foarte mici: col-xs- *
  • Dispozitivele mici: -col * SM
  • Dispozitive medii: col-MD- *
  • Dispozitivele mari: col-lg- *

Interogările media sunt utilizate intern pentru ca BS3 să decidă care dintre clasele de grilă menționate anterior să le folosească, iar diferitele dimensiuni sunt definite după cum urmează: 

  • Extra mic: afișare mai mică de 768 de pixeli 
  • Mic: o lățime de afișare mai mare sau egală cu 768 pixeli sau mai mică de 992 de pixeli 
  • Mediu: o lățime de afișare mai mare sau egală cu 992 pixeli sau mai mică de 1200 de pixeli 
  • Large: o lățime a afișajului mai mare sau egală cu 1200 de pixeli 

Puteți codifica mai multe versiuni ale rețelei dvs. pentru BS3 pentru a decide ce tip să utilizeze atunci când vizează mai multe afișări. De exemplu, dacă ați făcut următoarele: 

Conținutul aici
Conținutul aici
Conținutul aici
Conținutul aici
Conținutul aici
Conținutul aici
Conținutul aici
Conținutul aici

BS3 va ascunde și va afișa containerele după cum este necesar, în funcție de lățimea afișajului dispozitivului și de funcționarea interogărilor media. 

Ca și în versiunile anterioare ale sistemului de grilă, există 12 coloane orizontal peste toate dimensiunile diferite, astfel încât, indiferent de mărimea grilei să fie afișată, veți primi întotdeauna 12 grile pe fiecare dispozitiv. 

Însă lățimea coloanei însăși se schimbă, astfel încât este posibil să aveți nevoie să planificați conținutul în acele grile pentru a profita de dimensiunile diferite. Dimensiunile pentru fiecare dintre acestea sunt următoarele: 

  • col-xs- *= Dimensiunea automată, fără dimensiuni fixe 
  • -col * SM= 60 de pixeli 
  • col-MD- *= 78 de pixeli 
  • col-lg- *= 95 de pixeli 

Marja de jgheab în toate cazurile va rămâne la 15 pixeli pe fiecare parte a recipientului de rețea, dând un jgheab total de 30 de pixeli. Această dimensiune va fi consecventă indiferent de nivelul de dimensiune a rețelei pe care îl utilizați. 

Instalațiile și compensările funcționează așa cum au făcut-o anterior, dar ca și în cazul rețelelor în sine, printr-o ușoară redenumire a claselor folosite. 

Pentru a aplica o compensare, pur și simplu utilizați col-md-offset- *, amintindu-i să înlocuiască mdcu xs, sm, sau lgdupă caz, în funcție de dimensiunea grilei. 

Nesting se face simplu prin cuiburi de containere sub controlul col-xx- *clase în interiorul celeilalte, unde vor redimensiona și se vor comporta așa cum au procedat în versiunile anterioare BS. 

Următoarele exemple arată modul corect de realizare a ambelor tehnici: 

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

Acest exemplu vă va oferi o rețea care arată după cum urmează: 

.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

Acest exemplu vă va oferi un aspect după cum urmează: 

BS3 aduce, de asemenea, ceva nou la masă atunci când vine vorba de compensare și cuibărit, și asta este ceva numit comanda coloanelor. 

Dacă doriți ca coloanele dvs. să fie prezentate într-o ordine diferită de modul în care le definiți în documentul HTML, puteți utiliza noul col-xx-pull- *și col-xx-reactualizării *clase pentru a împinge sau trage machetele dvs. de rețea în ordinea în care doriți să le. De exemplu: 

8 coloane de conținut
4 coloane de conținut

Dacă îi faci pe cei din documentul tău, după cum era de așteptat, vei primi următoarele: 

Dacă, totuși, modificați codul de mai sus pentru a adăuga modificatori de împingere și tragere după cum urmează: 

8 coloane de conținut
4 coloane de conținut

Când faceți documentul, ar trebui să vedeți modificarea aspectului după cum urmează: 

În cele din urmă, dacă utilizați Mai puțin Versiunile CSS ale Bootstrap, aveți control complet asupra dimensiunilor rețelei schimbând următoarele variabile: 

  • @ grid-coloane: controlează numărul de grile orizontal (implicit 12) 
  • @ Grilă-jgheab-lățime: marja totală din jurul fiecărei rețele (implicit 30 de pixeli) 
  • @ Grid-float-breakpoint: dimensiunea minimă sub care dispunem dispozitive "extra mici" (implicit 768 pixeli) 

Deci, acum, când avem noul sistem de rețea sub control, mai este ceva ce trebuie să știți? 

Cu cât te gândești mai mult despre tine, dar asta e nebun - cu toate acele seturi multiple

elemente și compensări cu col-xx-xxclase, toate pentru afișări de dimensiuni diferite, aș putea crea doar patru site-uri diferite, cu patru rezoluții diferite în minte! "Pentru a fi sincer, nu v-aș fi vina, cu excepția unui singur lucru: fiecare dintre aceste nivele de dimensiune nouă sunt concepute pentru a lucra la același marcaj, în același timp, și ocupă același spațiu. 

Să luăm codul în proba de cod anterioară 4 și să o rescriim pentru a face acest lucru în modul recomandat: 

Conținutul aici
Conținutul aici

Ok, astfel încât s-ar putea să ajungeți cu lista de clasă din iad pe elementele dvs., dar un set de markup se va adapta la toate dimensiunile de afișare și va fi redimensionat acolo unde este necesar. 

Acest lucru, de asemenea, funcționează cu diferitele clase de offset, de ordine și de cuibărire.

Alte migrații  

Pe lângă cele deja discutate, trebuie schimbate și următoarele nume de clase dacă migrați dintr-un aspect V2 la un aspect V3 (Notă: tabelul următor a fost preluat direct din documentele Bootstrap 3 și a fost corect la ora scrisă, dar cu cât Bootstrap se maturizează, acest lucru nu poate rămâne așa). 

Bootstrap versiunea 2 nume de clasă Bootstrap versiunea 3 nume de clasă
.control-group.warning .control-group.error .control-group.success .Formularul-group.has- *
.checkbox.inline .radio.inline .checkbox-inline .radio inline
.input-Prepend .input-append .input-grup
.add-on .input-group-addon
.img-polaroid .img-miniatură
ul.unstyled .Lista-unstyled
ul.inline .Lista-inline
.dezactivat .Text dezactivat
.eticheta .etichetă .label-default
.etichetă importantă .etichetă de pericol
.text-eroare .Text-pericol
.tabel .error .tabelul .danger
.bar .bara de progres
.bar-*
.bara de progres-*
.acordeon .Panou-grup
.acordeon-grup .panou
.acordeon-titlu .Panou-poziție
.acordeon-corp .Panou-colaps
.acordeon interior .Panou corp

După cum sa menționat anterior, majoritatea schimbărilor au fost făcute pentru a aduce conformitatea cu schema de numire folosită de diferitele clase. Dar multe dintre ele au fost redenumite, deoarece scopul lor general sa schimbat. 

Vom intra mai detaliat în tutorialele viitoare din această serie, dar pentru moment, dacă faceți o conversie, atunci Tabelul 2 vă va spune tot ce aveți nevoie pentru a retargeta un layout v2 la v3. 

S-ar putea să doriți să luați în considerare utilizarea unei sarcini personalizate în ceva de genul unei sarcini Grunt.js, astfel încât atunci când executați sistemul dvs. de construire, aceste modificări se efectuează automat. Acest lucru va permite dezvoltatorilor dvs. să rămână productiv folosind v2 în timp ce treptat face trecerea la v3. 

Deci, ce anume a fost adăugat la Bootstrap nou și exact ce a fost eliminat? 

Vom începe cu ceea ce a fost eliminat și vom acoperi ceea ce sa adăugat mai detaliat în tutorialul "Modificări ale funcțiilor CSS". Mai important este să știți ce a fost eliminat în acest tutorial, deoarece acesta este tutorialul pe care l- este posibil să se refere la migrarea machetelor tale 

Mai întâi vom începe cu ceea ce a fost eliminat în cazul formularelor și, din păcate, asta este destul de mult. Nu mai avem un tip specific pentru un formular de căutare Formularul-căutare, și bara umbrită de obicei găsită la poalele unui formular formular-acțiunia fost, de asemenea, depreciat în v3. 

De asemenea, nu există clasa utilizată în mod obișnuit pentru afișarea erorilor de validare, control-grup-info, și omologul său de ajutor, help-inline. Nici una din aceste patru clase nu are înlocuire recomandată în baza de date v3, ceea ce înseamnă că pentru a construi echivalente dintre ele, va trebui să utilizați alte elemente și clase acolo unde este cazul. 

Continuând cu formularele principale controaleclasa folosit pentru a împacheta seturi de control întreg este plecat, împreună cu controale rând. În schimb, vi se recomandă să utilizați rândsau noul form-grup clasă. Formularele au pierdut, de asemenea, majoritatea clasei de dimensionare; clasele cu mărime fixă, cum ar fi intrare mini, input-mici, input mediu, de intrare-mare, input-XLARGE, și input-xxlargeau dispărut acum, împreună cu clasa de control al blocului input-block entry-. În schimb, acum vi se recomandă să controlați dimensiunile elementelor de formă utilizând sub formă de controlîn combinație cu noile dimensiuni și machete disponibile în sistemul de rețea. 

Din punct de vedere al controlului individual, inversclasele au fost eliminate din butoane și alte controale similare, și am pierdut, de asemenea drop-down-submeniuclasă în favoarea utilizării doar a butoanelor drop-down pentru a crea aceeași funcționalitate. 

Pentru tab-uri, file din stânga-, file-dreapta, și file-de mai josclasele nu mai există, ceea ce înseamnă că acum avem abilitatea de a plasa file în partea de sus a conținutului, aliniat la stânga. 

Ramaneti cu tab-uri, clasa pentru a lucra cu continutul intr-un tabel de configurare tab-ul a fost, de asemenea, eliminat, ceea ce inseamna ca pastila-paneși pilula conținutar trebui să folosească acum generalul Fila conținut și tab-paneclase. 

În cele din urmă, diversele navbarclasele nu sunt fără decese: navbar-interior, navbar divider-verticalnav-list, și nav-headernu mai fac parte din cadru. 

În majoritatea cazurilor, nu există echivalente directe în v3 pentru aceste clase, deși există unele asemănări în alte clase care se pot dovedi utile. De exemplu, nav-listși nav-headerpoate fi recreat folosind ListăGrupuri. 

Există o diagramă de referință rapidă pentru toate acestea în ghidul de migrare de pe site-ul Web Bootstrap 3.

Acest tutorial reprezintă un capitol din Bootstrap 3 Succinctly, o carte electronică gratuită de la echipa de la Syncfusion.