Så hva er involvert i å migrere fra Bootstrap 2 til Bootstrap 3? I sannhet, ikke mye.
Til tross for de mange endringene er det fortsatt ikke mye penger for deg å faktisk forandre seg, og endringene du må gjøre er vanligvis bare klassenavnet om det er aktuelt.
En av de tingene du kanskje vil gjøre, spesielt hvis du har brukt BS bare for generell webapputvikling og ikke mobil eller noen form for responsiv design, er å deaktivere de responsive funksjonene i BS3.
Dette er lett nok å gjøre, men ikke i det hele tatt anbefalt.
Du kan oppnå dette på følgende måte:
meta
tag som inneholder enhetens bredde og annen innledende størrelsesinfo til hodet på dokumentet. bredde
på elementene dine som er merket opp med en klasse av container
, og sørg for at du bruker style = 'width: xxx! important'
når du gjør det. navbar
konstruerer i dokumentet ditt. col-XS *
klasser og ingen av de andre fire nivåene. Hvis du målretter mot IE8 og IE9, må du fortsatt sørge for at du bruker respond.js, selv om du deaktiverer responsen som beskrevet.
Som nevnt tidligere har det vært mange klassenavnsendringer mellom de to versjonene, og mange klasser er blitt avskrevet og trukket tilbake.
En ting som vil (og allerede har hvis du ser på Stack Overflow) kommer som en overraskelse for mange er tilbaketrekking av fluidbreddklassene.
I versjon 2, hvis du ville ha en elastisk beholder med full bredde, måtte du gjøre noe som følger:
Et overskrift
Noen avsnitt tekst
I versjon 3 container
og p-fluid
klasser eksisterer ikke lenger.
Så hvordan får du en væskebeholder? Enkelt: det gjør du ikke.
Snarere enn å pakke inn innholdet i en container
og deretter a rad
, du slår dem ikke inn i noe.
Du kan fortsatt bruke rutenettet til å legge inn beholdere for innholdet ditt, slik at det går bra med Bootstraps rutenett, men du trenger ikke lenger å sette en beholder rundt de samlingene av Faktisk, hvis du bruker Da er neste største klasseskift selve rutenettet. I versjon 2 opprettet du vanligvis ruter på følgende måte: Denne koden vil gi deg to beholdere som nettopp fylte 12 rutekvadratene horisontalt slik at alle layoutene hadde (vanligvis en sidelinje). I versjon 3 er "medium level" nettverket nå ekvivalent til v2 Imidlertid, mens versjon 2 bare hadde et nivå av gridstørrelse, har versjon 3 nå fire nivåer. Hvert nivå er skreddersydd for den forventede hovedmålingsenheten som du forventer at sluttproduktet skal kjøre på. Disse rutenettene heter nå som følger: Medieforespørsler brukes internt for BS3 for å bestemme hvilken av de nevnte gridklassene som skal brukes, og de forskjellige størrelsene er definert som følger: Du kan kodes opp flere versjoner av rutenettet for BS3 for å bestemme hvilken type som skal brukes når du målretter mot flere skjermer. For eksempel hvis du gjorde følgende: BS3 vil gjemme og gjemme beholderne etter behov, avhengig av bredden på skjermbildet og driften av medieforespørrelsene. Som med tidligere versjoner av rutenettet, er det 12 kolonner horisontalt over alle de forskjellige størrelsene, slik at hvilken gridstørrelse som vises, vil du alltid få 12 ruter på hver enhet. Kolonnebredden selv endres imidlertid, så du må kanskje planlegge innholdet i disse nettene for å dra nytte av de forskjellige størrelsene. Størrelsene for hver av dem er som følger: Guttermarginen vil i alle tilfeller forbli på 15 piksler på hver side av rutenettbeholderen, noe som gir en samlet renner på 30 piksler. Denne størrelsen vil være konsistent uansett hvilket gridstørrelsesnivå du bruker. Nesting og offsets fungerer som de gjorde tidligere, men som med nettene selv, ved en liten omdøping av de faktiske klassene som brukes. For å bruke en forskyvning, bruk bare Nesting er gjort bare ved å nesting beholdere under kontroll av Følgende eksempler viser den riktige måten å oppnå begge disse teknikkene på: Dette eksempelet gir deg et rutenett som ser ut som følgende: Dette eksempelet gir deg et oppsett som følger: BS3 bringer også noe nytt til bordet når det gjelder offsetting og nesting, og det er noe som kalles kolonnebestilling. Hvis du vil at kolonnene dine skal presenteres i en annen rekkefølge til hvordan du definerer dem i HTML-dokumentet ditt, kan du bruke den nye Hvis du gjør dem i dokumentet, får du følgende, som forventet: Hvis du imidlertid endrer ovennevnte kode for å legge til trykk og trekk modifikatorer som følger: Når du gjør dokumentet ditt, bør du se oppsettendringen din på følgende måte: Til slutt, hvis du bruker Mindre CSS kildeversjoner av Bootstrap, du har full kontroll over gridstørrelsene ved å endre følgende variabler: Så nå at vi har det nye rutenettet under kontroll, er det noe annet du trenger å vite? Jo mer sparsomme av deg kan tenke, "Men det er galt - med alle de flere settene av La oss ta koden i forrige kodeeksempel 4, og skriv om det for å gjøre dette på den anbefalte måten: Ok, så du kan ende opp med klasselisten fra helvete på elementene dine, men ett sett med oppslag vil tilpasse seg alle visningsstørrelser, og endre størrelsen på det der det trengs. Dette fungerer også med de ulike offset-, bestillings- og nesteklassene. I tillegg til de som vi allerede har diskutert, må følgende klassenavn også endres hvis du migrerer fra et V2-layout til et V3-layout (Merk: Følgende tabell er tatt direkte fra Bootstrap 3 docs og var riktig på tidspunktet for skriving. Da Bootstrap modnes, kan dette imidlertid ikke forbli så). Som tidligere nevnt har de fleste endringene blitt gjort for å bringe samsvar med navngivningssystemet som brukes av de ulike klassene. Men mange av dem har også blitt omdøpt fordi deres overordnede formål har endret seg. Vi vil gå nærmere inn i kommende opplæringsprogrammer i denne serien, men for nå, hvis du gjør en konvertering, vil tabell 2 fortell deg alt du trenger for å retarget et v2-layout til v3. Du vil kanskje vurdere å bruke en egendefinert jobb i noe som en Grunt.js-oppgave, slik at når du kjører ditt byggesystem, utføres disse endringene automatisk. Dette gjør at utviklerne dine kan forbli produktive ved hjelp av v2, mens de gradvis gjør flyttingen til v3. Så hva har akkurat blitt lagt til Bootstrap som er nytt, og hva som nettopp er fjernet? Vi starter med det som er fjernet, og vi vil dekke hva som er lagt til mer detaljert i opplæringen om "Endrede CSS-funksjoner". Det er viktigere at du vet hva som er fjernet i denne opplæringen, siden dette er opplæringen du ' Sannsynligvis refererer til når migrering av layoutene dine Først begynner vi med det som er fjernet der skjemaene er bekymret, og dessverre er det ganske mye. Vi har ikke lenger en bestemt type for et søkeskjema Også borte er klassen vanligvis brukt til å vise valideringsfeil, Fortsetter med skjemaer, den viktigste Fra et individuelt kontrollsynspunkt er For faner, er Å holde seg til faner, klassen til å jobbe med innhold i en pillebasert tabulatoroppsett, har også blitt fjernet, noe som betyr det Til slutt, de forskjellige I de fleste tilfeller er det ingen direkte ekvivalenter i v3 for disse klassene, selv om det er noen likheter i andre klasser som kan vise seg å være nyttige. For eksempel, Det er et raskt referanseoversikt for alle disse i overføringsveiledningen på Bootstrap 3-nettstedet. Denne opplæringen representerer et kapittel fra Bootstrap 3 Succinctly, en gratis eBok fra teamet ved Syncfusion.container
og rad
(de ikke-flytende versjonene eksisterer fortsatt), så vil du ende opp med at alt innholdet ditt befinner seg i 1024 piksler, midtkolonne automatisk, og kunne bruke hele sidebredden hvis du ikke gjør det. Migrerer rutenettet
span
klasser, så å omskrive den forrige koden for V3 gjør du bare følgende:
col-XS *
col-SM- *
col-MD- *
col-lg- *
col-XS *
= Automatisk størrelse, ingen faste dimensjoner col-SM- *
= 60 piksler col-MD- *
= 78 piksler col-lg- *
= 95 piksler col-md-offset- *
, husker å erstatte md
med xs
, sm
, eller lg
etter behov, avhengig av rutenettstørrelsen. col-xx- *
klasser i hverandre, hvor de vil endre størrelse og oppføre seg som de gjorde i tidligere BS-versjoner.
col-xx-trekk- *
og col-xx-push *
klasser for å skyve eller trekke gridoppsettene i den rekkefølgen du vil ha dem. For eksempel:
@ gittersøyler
: styrer antall rister horisontalt (standard 12) @ Gitter-rennebredde
: totalmarginen rundt hvert rutenett (standard 30 piksler) @ Gitter-float-stoppunkt
: Minimumstørrelsen under som vi har "ekstra små" enheter (standard 768 piksler) col-xx-xx
klasser, alt for forskjellige størrelsesdisplayer, kan jeg også bare lage fire forskjellige sider, med fire forskjellige oppløsninger i tankene! "For å være ærlig, ville jeg ikke klandre deg, bortsett fra én ting: hver av disse nye størrelsesnivåene er utformet for å fungere på samme oppskrift, samtidig, og opptar samme plass. Andre overføringer
Bootstrap versjon 2 klassenavn Bootstrap versjon 3 klassenavn .kontroll-group.warning
.kontroll-group.error
.kontroll-group.success
.form group.has- *
.checkbox.inline
.radio.inline
.avkrysnings-inline
.radio-inline
.Inngang-foranstilt
.inngang tilføying
.Inngang-gruppe
.tillegg
.Inngang-gruppe-addon
.img-polaroid
.img-thumbnail
ul.unstyled
.list-unstyled
ul.inline
.list-inline
.dempet
.tekst-dempet
.merkelapp
.label .label-default
.etiketten viktig
.label-fare
.tekst-feil
.tekst-fare
.tabell .error
.bord .danger
.Bar
.Progress-bar
.bar- *
.fremgang-bar- *
.trekkspill
.panel-gruppe
.trekkspill-gruppe
.panel .panel-standard
.trekkspill rubrikken
.panel rubrikken
.trekkspill-legeme
.panel-kollaps
.trekkspill-indre
.panel-legeme
skjema-søk
, og den skyggefulle linjen finnes vanligvis ved foten av en form Form handlinger
har også blitt avskrevet i v3. kontroll-gruppe-info
, og det hjelper motparten, help-inline
. Ingen av disse fire klassene har noen anbefalt erstatning i v3-kodebase, noe som betyr at for å konstruere ekvivalenter av dem, må du bruke andre elementer og klasser der det er aktuelt. kontroller
Klassen som brukes til å vikle hele kontrollsettene er borte, sammen med kontroller rad
. I stedet anbefales det å bruke rad
eller den nye skjema-gruppe
klasse. Skjemaer har også mistet de fleste dimensjoneringsklassene; den faste størrelsen klasser som Inngang-mini
, Inngang-small
, inngang-mellom
, Inngang-large
, Inngang-XLarge
, og Inngang-XXLarge
har nå alle gått vekk, sammen med blokknivå kontroll klassen Inngang-blokknivå
. I stedet blir du nå rådet til å kontrollere formelementstørrelsene dine ved hjelp av formkontroll
i kombinasjon med de nye størrelsene og layoutene som er tilgjengelige i rutenettet. omvendt
Klasser har blitt fjernet fra knapper og andre lignende kontroller, og vi har også mistet dropdown-undermeny
klasse til fordel for bare å bruke delt nedtrekksknapper for å skape den samme funksjonaliteten. faner til venstre
, faner til høyre
, og faner-nedenfor
klasser eksisterer ikke lenger, noe som betyr at vi nå bare har muligheten til å sette faner øverst på innholdet, venstrejustert. pille-panelet
og pille-innhold
bør nå bruke den generelle tab-innhold
og tab-panelet
klasser. navbar
klasser er ikke uten tap: navbar-indre
, navbar divider-vertikal
, nav-liste
, og nav-header
er ikke lenger en del av rammen. nav-liste
og nav-header
kan gjenskapes ved hjelp av Liste
grupper.