Migracija na v5
Pratite i pregledajte promjene izvornih datoteka Bootstrapa, dokumentacije i komponenti koje će vam pomoći da pređete sa v4 na v5.
Zavisnosti
- Izbačen jQuery.
- Nadograđen sa Popper v1.x na Popper v2.x.
- Libsass je zamijenjen Dart Sass-om jer je naš Sass kompajler s obzirom da je Libsass zastario.
- Migrirao iz Jekyll-a u Hugo radi izrade naše dokumentacije
Podrška za pretraživač
- Izbačeni su Internet Explorer 10 i 11
- Izbačen Microsoft Edge < 16 (Legacy Edge)
- Izbačen Firefox < 60
- Odbačen Safari < 12
- Izbačen iOS Safari < 12
- Odbačen Chrome < 60
Promjene u dokumentaciji
- Redizajnirana početna stranica, izgled dokumenata i podnožje.
- Dodan novi vodič za pakete .
- Dodan je novi odjeljak za prilagođavanje , zamjenjujući stranicu Theming v4 , s novim detaljima o Sass-u, opcijama globalne konfiguracije, shemama boja, CSS varijablama i još mnogo toga.
- Reorganizirana je sva dokumentacija obrasca u novi odjeljak Obrasci , razdvajajući sadržaj na više fokusirane stranice.
- Slično, ažuriran je odjeljak Layout , kako bi se jasnije prikazao sadržaj mreže.
- Stranica komponente “Navs” je preimenovana u “Navs & Tabs”.
- Stranica „Čekovi“ je preimenovana u „Čekovi i radio“.
- Redizajnirali smo navigacijsku traku i dodali novu podnav kako bismo olakšali kretanje po našim stranicama i verzijama dokumenata.
- Dodata nova prečica na tastaturi za polje za pretragu: Ctrl + /.
Sass
-
Odbacili smo zadano spajanje Sass mapa kako bismo olakšali uklanjanje suvišnih vrijednosti. Imajte na umu da sada morate definirati sve vrijednosti u Sass mapama poput
$theme-colors
. Provjerite kako se nositi sa Sass mapama . -
BreakingPreimenovana
color-yiq()
funkcija i povezane varijable ucolor-contrast()
jer više nije povezana s YIQ prostorom boja. Vidi #30168.$yiq-contrasted-threshold
je preimenovan u$min-contrast-ratio
.$yiq-text-dark
i$yiq-text-light
preimenovani su u$color-contrast-dark
i$color-contrast-light
.
-
BreakingParametri mixina medijskog upita su promijenjeni za logičniji pristup.
media-breakpoint-down()
koristi samu tačku prekida umesto sledeće tačke prekida (npr.media-breakpoint-down(lg)
umestomedia-breakpoint-down(md)
ciljanih prozora manjeg odlg
).- Slično, drugi parametar u
media-breakpoint-between()
takođe koristi samu tačku prekida umesto sledeće tačke prekida (npr.media-between(sm, lg)
umestomedia-breakpoint-between(sm, md)
ciljnih prozora izmeđusm
ilg
).
-
BreakingUklonjeni stilovi ispisa i
$enable-print-styles
varijabla. Još uvijek postoje klase za prikaz printa. Vidi #28339 . -
BreakingIspuštene
color()
,theme-color()
, igray()
funkcije u korist varijabli. Vidi #29083 . -
BreakingFunkcija je preimenovana
theme-color-level()
ucolor-level()
i sada prihvata bilo koju boju koju želite umjesto samo$theme-color
boja. Vidi #29083 Pazi:color-level()
kasnije je ubačen uv5.0.0-alpha3
. -
BreakingPreimenovano
$enable-prefers-reduced-motion-media-query
i$enable-pointer-cursor-for-buttons
u$enable-reduced-motion
i$enable-button-pointers
radi kratkoće. -
BreakingUklonio mixin
bg-gradient-variant()
. Koristite.bg-gradient
klasu da dodate gradijente elementima umjesto generiranih.bg-gradient-*
klasa. -
Breaking Uklonjeni prethodno zastarjeli mixini:
hover
,hover-focus
,plain-hover-focus
, ihover-focus-active
float()
form-control-mixin()
nav-divider()
retina-img()
text-hide()
(takođe je ispuštena pridružena uslužna klasa,.text-hide
)visibility()
form-control-focus()
-
Breaking
scale-color()
Funkcija je preimenovana ushift-color()
kako bi se izbjegla kolizija sa Sassovom vlastitom funkcijom skaliranja boja. -
box-shadow
mixini sada dozvoljavajunull
vrijednosti i ispadajunone
iz više argumenata. Vidi #30394 . -
Mixin
border-radius()
sada ima zadanu vrijednost.
Sistem boja
-
Sistem boja koji je radio
color-level()
i$theme-color-interval
uklonjen je u korist novog sistema boja. Svelighten()
idarken()
funkcije u našoj bazi kodova zamijenjene su satint-color()
ishade-color()
. Ove funkcije će pomiješati boju s bijelom ili crnom umjesto da mijenjaju njenu svjetlinu za fiksni iznos. Bojashift-color()
će ili nijansirati ili zasjeniti boju ovisno o tome je li njen parametar težine pozitivan ili negativan. Pogledajte #30622 za više detalja. -
Dodane su nove nijanse i nijanse za svaku boju, pružajući devet zasebnih boja za svaku osnovnu boju, kao nove Sass varijable.
-
Poboljšan kontrast boja. Omjer kontrasta boja je povećan sa 3:1 na 4,5:1 i ažurirane plave, zelene, cijan i ružičaste boje kako bi se osigurao WCAG 2.1 AA kontrast. Također smo promijenili našu kontrastnu boju iz
$gray-900
na$black
. -
Kako bismo podržali naš sistem boja, dodali smo nove prilagođene
tint-color()
ishade-color()
funkcije za odgovarajuće miješanje boja.
Ažuriranja mreže
-
Nova tačka prekida! Dodata nova
xxl
tačka prekida za1400px
i više. Nema promjena na svim ostalim tačkama prekida. -
Poboljšani oluci. Oluci su sada postavljeni u rems, i uži su od v4 (
1.5rem
, ili oko24px
, dolje od30px
). Ovo poravnava oluke našeg mrežnog sistema sa našim razmacima.- Dodata nova klasa oluka (
.g-*
,.gx-*
, i.gy-*
) za kontrolu horizontalnih/vertikalnih oluka, horizontalnih oluka i vertikalnih oluka. - BreakingPreimenovano
.no-gutters
u kako.g-0
bi odgovaralo novim kanalima.
- Dodata nova klasa oluka (
-
Kolone se više ne
position: relative
primjenjuju, pa ćete možda morati dodati.position-relative
neke elemente da biste vratili to ponašanje. -
BreakingOdustao od nekoliko
.order-*
časova koji su često ostajali neiskorišteni. Mi sada pružamo samo.order-1
iz.order-5
kutije. -
BreakingIzbačena
.media
komponenta jer se lako može replicirati uslužnim programima. Pogledajte #28265 i stranicu sa fleksibilnim uslužnim programima za primjer . -
Breaking
bootstrap-grid.css
sada se primjenjuje samobox-sizing: border-box
na kolonu umjesto resetovanja globalne veličine kutije. Na ovaj način, naši stilovi mreže mogu se koristiti na više mjesta bez smetnji. -
$enable-grid-classes
više ne onemogućuje generiranje kontejnerskih klasa. Vidi #29146. -
Mixin je
make-col
ažuriran na zadane na jednake stupce bez određene veličine.
Sadržaj, ponovno pokretanje itd
-
RFS je sada podrazumevano omogućen. Naslovi koji koriste
font-size()
mixin će automatski prilagoditi svojufont-size
veličinu s okvirom za prikaz. Ova funkcija je ranije bila uključena u v4. -
BreakingRevidirali smo tipografiju prikaza kako bismo zamijenili naše
$display-*
varijable i$display-font-sizes
Sass mapom. Također su uklonjene pojedinačne$display-*-weight
varijable za jedan$display-font-weight
i prilagođenfont-size
s. -
Dodane su dvije nove
.display-*
veličine naslova.display-5
i.display-6
. -
Veze su podrazumevano podvučene (ne samo pri lebdenju), osim ako nisu deo određenih komponenti.
-
Redizajnirane tabele da osveže svoje stilove i ponovo ih sagrade pomoću CSS varijabli za veću kontrolu nad stilizovanjem.
-
BreakingUgniježđene tablice više ne nasljeđuju stilove.
-
Breaking
.thead-light
i.thead-dark
odbačeni su u korist.table-*
varijantnih klasa koje se mogu koristiti za sve elemente tabele (thead
,tbody
,tfoot
,tr
,th
itd
). -
BreakingMiksin
table-row-variant()
je preimenovan utable-variant()
i prihvata samo 2 parametra:$color
(naziv boje) i$value
(kod boje). Boja ivice i boje akcenta se automatski izračunavaju na osnovu faktorskih varijabli tabele. -
Podijelite varijable popunjavanja ćelija tablice na
-y
i-x
. -
BreakingPao
.pre-scrollable
razred. Vidi #29135 -
Breaking
.text-*
uslužni programi više ne dodaju stanja lebdenja i fokusa vezama..link-*
umjesto toga se mogu koristiti pomoćne klase. Vidi #29267 -
BreakingPao
.text-justify
razred. Vidi #29793 -
Vrati zadano horizontalno
padding-left
na<ul>
i<ol>
elemente sa zadanog pretraživača40px
na2rem
. -
Dodano
$enable-smooth-scroll
, koji se primjenjujescroll-behavior: smooth
globalno – osim za korisnike koji traže smanjeno kretanje putemprefers-reduced-motion
medijskog upita. Vidi #31877
RTL
- Varijable, uslužni programi i miksinovi specifični za horizontalni smjer su preimenovani da koriste logička svojstva poput onih u flexbox rasporedima—npr.
start
iend
umjestoleft
iright
.
Forms
-
Dodane nove plutajuće forme! Promovirali smo primjer plutajućih oznaka na potpuno podržane komponente obrasca. Pogledajte novu stranicu plutajućih naljepnica.
-
Breaking Konsolidovani izvorni i prilagođeni elementi forme. Potvrdni okviri, radio, odabiri i drugi ulazi koji su imali izvorne i prilagođene klase u v4 su konsolidirani. Sada su skoro svi naši elementi obrasca potpuno prilagođeni, većina bez potrebe za prilagođenim HTML-om.
.custom-check
je sada.form-check
..custom-check.custom-switch
je sada.form-check.form-switch
..custom-select
je sada.form-select
..custom-file
i.form-file
zamijenjeni su prilagođenim stilovima na vrhu.form-control
..custom-range
je sada.form-range
.- Odbačen native
.form-control-file
i.form-control-range
.
-
BreakingPao
.input-group-append
i.input-group-prepend
. Sada možete samo dodati dugmad i.input-group-text
kao direktne potomke grupa za unos. -
Dugogodišnji nedostajući radijus granice na ulaznoj grupi sa greškom za povratne informacije o validaciji je konačno popravljen dodavanjem dodatne
.has-validation
klase ulaznim grupama sa validacijom. -
Breaking Izbačene su klase rasporeda specifične za formu za naš mrežni sistem. Koristite našu mrežu i uslužne programe umjesto
.form-group
,.form-row
, ili.form-inline
. -
BreakingOznake obrasca sada zahtijevaju
.form-label
. -
Breaking
.form-text
više ne postavljadisplay
, što vam omogućava da kreirate umetnuti ili blok tekst pomoći po želji samo promjenom HTML elementa. -
Ikone za provjeru valjanosti se više ne primjenjuju na
<select>
s samultiple
. -
Preuređeni izvorni Sass fajlovi pod
scss/forms/
, uključujući stilove grupe unosa.
Komponente
- Objedinjene
padding
vrijednosti za upozorenja, krušne mrvice, kartice, padajuće menije, grupe lista, modale, iskačuće stranice i opise alata koje se zasnivaju na našoj$spacer
varijabli. Vidi #30564 .
Harmonika
- Dodata nova komponenta harmonike .
Alerts
-
Upozorenja sada imaju primjere sa ikonama .
-
Uklonjeni prilagođeni stilovi za
<hr>
s u svakom upozorenju jer već koristecurrentColor
.
Značke
-
BreakingIzbačene su sve
.badge-*
klase boja za pozadinske uslužne programe (npr. koristite.bg-primary
umjesto.badge-primary
). -
BreakingIspušteno — umjesto toga koristite uslužni program
.badge-pill
..rounded-pill
-
BreakingUklonjeni stilovi lebdenja i fokusa za elemente
<a>
i<button>
elemente. -
Povećani zadani padding za značke od
.25em
/.5em
do.35em
/.65em
.
Mrvice hljeba
-
Pojednostavljeni zadani izgled krušnih mrvica uklanjanjem
padding
,background-color
, iborder-radius
. -
Dodano je novo prilagođeno svojstvo CSS-a
--bs-breadcrumb-divider
za jednostavno prilagođavanje bez potrebe za ponovnim kompajliranjem CSS-a.
Dugmad
-
Breaking Dugmad za prebacivanje , sa potvrdnim okvirima ili radijima, više ne zahtijevaju JavaScript i imaju nove oznake. Više nam nije potreban element omotača, dodavanje
.btn-check
u<input>
, i uparivanje sa bilo kojom.btn
klasom na<label>
. Vidi #30650 . Dokumenti za ovo premješteni su sa naše stranice Dugmad u novi odjeljak Obrasci. -
Breaking Otpušteno
.btn-block
zbog komunalija. Umjesto da koristite.btn-block
na.btn
, omotajte dugmad sa.d-grid
i.gap-*
uslužnim programom da ih razmaknete po potrebi. Prebacite se na responsive klase za još veću kontrolu nad njima. Pročitajte dokumente za neke primjere. -
Ažurirali smo naše
button-variant()
ibutton-outline-variant()
miksine da podrže dodatne parametre. -
Ažurirana dugmad kako bi se osigurao povećan kontrast pri lebdenju i aktivnim stanjima.
-
Onemogućena dugmad sada imaju
pointer-events: none;
.
Card
-
BreakingPao
.card-deck
u korist naše mreže. Umotajte svoje karte u klase kolona i dodajte roditeljski.row-cols-*
kontejner za ponovno kreiranje špilova karata (ali s većom kontrolom nad odgovarajućim poravnanjem). -
BreakingPao
.card-columns
u korist masonerije. Vidi #28922 . -
BreakingZamijenjena
.card
harmonika sa novom komponentom harmonike .
Carousel
-
Dodana je nova
.carousel-dark
varijanta za tamni tekst, kontrole i indikatore (odlično za svjetlije pozadine). -
Zamijenjene ikone ševrona za kontrole vrtuljka novim SVG-ovima iz Bootstrap Icons .
Dugme za zatvaranje
-
BreakingPreimenovano
.close
u.btn-close
za manje generički naziv. -
Dugmad za zatvaranje sada koriste
background-image
(ugrađeni SVG) umjesto a×
u HTML-u, što omogućava lakše prilagođavanje bez potrebe za dodirivanjem vaše oznake. -
Dodana je nova
.btn-close-white
varijanta koja koristifilter: invert(1)
za omogućavanje većeg kontrasta ikona odbacivanja na tamnijim pozadinama.
Kolaps
- Uklonjeno sidrenje za harmonike.
Padajući meni
-
Dodana je nova
.dropdown-menu-dark
varijanta i povezane varijable za tamne padajuće menije na zahtjev. -
Dodata nova varijabla za
$dropdown-padding-x
. -
Zatamnjen padajući razdjelnik radi poboljšanog kontrasta.
-
BreakingSvi događaji za padajući meni sada se pokreću na dugmetu za prebacivanje padajućeg menija, a zatim se prikazuju u mehurićima do nadređenog elementa.
-
Padajući meniji sada imaju postavljen
data-bs-popper="static"
atribut kada je pozicioniranje padajućeg menija statično idata-bs-popper="none"
kada je padajući meni na navigacionoj traci. Ovo dodaje naš JavaScript i pomaže nam da koristimo prilagođene stilove položaja bez ometanja Popperovog pozicioniranja. -
BreakingIzbačena
flip
opcija za padajući dodatak u korist izvorne Popper konfiguracije. Sada možete onemogućiti ponašanje okretanja prosljeđivanjem praznog niza zafallbackPlacements
opciju u modifikatoru okretanja . -
Padajući meniji sada se mogu kliknuti uz novu
autoClose
opciju za upravljanje ponašanjem automatskog zatvaranja . Ovu opciju možete koristiti da prihvatite klik unutar ili izvan padajućeg izbornika kako biste ga učinili interaktivnim. -
Padajući meni sada podržavaju
.dropdown-item
s umotane u<li>
s.
Jumbotron
- BreakingIzbačen je jumbotron komponenta jer se može replicirati uslužnim programima. Pogledajte naš novi Jumbotron primjer za demo.
Grupa liste
- Dodan novi
.list-group-numbered
modifikator grupama liste.
Navigacije i kartice
- Dodane nove
null
varijable zafont-size
,font-weight
,color
, i:hover
color
u.nav-link
klasu.
Navbars
- BreakingNavbarovi sada zahtijevaju kontejner unutar (kako bi se drastično pojednostavili zahtjevi za razmakom i potreban CSS).
Offcanvas
- Dodana je nova komponenta van platna .
Paginacija
-
Veze za paginaciju sada imaju prilagodljive
margin-left
koje se dinamički zaokružuju na svim uglovima kada su odvojene jedna od druge. -
Dodano
transition
s linkovima za paginaciju.
Popovers
-
BreakingPreimenovano
.arrow
u.popover-arrow
u našem zadanom predlošku skočnog prozora. -
whiteList
Opcija je preimenovana uallowList
.
Spinners
-
Spinneri sada poštuju
prefers-reduced-motion: reduce
usporavanje animacija. Vidi #31882 . -
Poboljšano vertikalno poravnanje spinnera.
Zdravice
-
Zdravice se sada mogu postaviti u a
.toast-container
uz pomoć uslužnih programa za pozicioniranje . -
Promijenjeno zadano trajanje tosta na 5 sekundi.
-
Uklonjeno
overflow: hidden
iz tostova i zamijenjeno odgovarajućimborder-radius
scalc()
funkcijama.
Alati
-
BreakingPreimenovano
.arrow
u.tooltip-arrow
u našem zadanom predlošku opisa alata. -
BreakingZadana vrijednost za
fallbackPlacements
je promijenjena u['top', 'right', 'bottom', 'left']
radi boljeg postavljanja popper elemenata. -
Breaking
whiteList
Opcija je preimenovana uallowList
.
Komunalne usluge
-
BreakingPreimenovano nekoliko uslužnih programa za korištenje logičkih imena svojstava umjesto imena usmjerenih uz dodatak RTL podrške:
- Preimenovano
.left-*
i.right-*
u.start-*
i.end-*
. - Preimenovano
.float-left
i.float-right
u.float-start
i.float-end
. - Preimenovano
.border-left
i.border-right
u.border-start
i.border-end
. - Preimenovano
.rounded-left
i.rounded-right
u.rounded-start
i.rounded-end
. - Preimenovano
.ml-*
i.mr-*
u.ms-*
i.me-*
. - Preimenovano
.pl-*
i.pr-*
u.ps-*
i.pe-*
. - Preimenovano
.text-left
i.text-right
u.text-start
i.text-end
.
- Preimenovano
-
BreakingPodrazumevano onemogućene negativne margine.
-
Dodata nova
.bg-body
klasa za brzo postavljanje<body>
pozadine na dodatne elemente. -
Dodani su novi uslužni programi položaja za
top
,right
,bottom
, ileft
. Vrijednosti uključuju0
,50%
, i100%
za svako svojstvo. -
Dodani su novi
.translate-middle-x
i.translate-middle-y
uslužni programi horizontalno ili vertikalno centrirati apsolutno/fiksno pozicionirane elemente. -
Dodati novi
border-width
uslužni programi . -
BreakingPreimenovano
.text-monospace
u.font-monospace
. -
BreakingUklonjeno
.text-hide
jer je to zastarjela metoda za skrivanje teksta koji se više ne bi trebao koristiti. -
Dodati
.fs-*
uslužni programi zafont-size
uslužne programe (sa uključenim RFS-om). Oni koriste istu skalu kao i HTML-ovi zadani naslovi (1-6, veliki prema malim) i mogu se mijenjati putem Sass mape. -
BreakingPreimenovani
.font-weight-*
uslužni programi.fw-*
zbog sažetosti i dosljednosti. -
BreakingPreimenovani
.font-style-*
uslužni programi.fst-*
zbog sažetosti i dosljednosti. -
Dodato
.d-grid
uslužnim programima za prikaz i novimgap
uslužnim programima (.gap
) za CSS Grid i flexbox rasporede. -
BreakingUklonjen
.rounded-sm
irounded-lg
, i uvedena nova skala klasa,.rounded-0
u.rounded-3
. Vidi #31687 . -
Dodani novi
line-height
uslužni programi:.lh-1
,.lh-sm
,.lh-base
i.lh-lg
. Vidite ovdje . -
Premješten je
.d-none
uslužni program u naš CSS kako bi mu dao veću težinu u odnosu na druge uslužne programe za prikaz. -
Proširen
.visually-hidden-focusable
pomoćnik da radi i na kontejnerima, koristeći:focus-within
.
Pomagači
-
Breaking Responzivni pomoćnici za ugrađivanje preimenovani su u pomoćnike omjera s novim imenima klasa i poboljšanim ponašanjem, kao i korisnom CSS varijablom.
- Klase su preimenovane kako bi se promijenile
by
ux
omjeru stranica. Na primjer,.ratio-16by9
sada je.ratio-16x9
. - Izbacili smo
.embed-responsive-item
i selektor grupe elemenata u korist jednostavnijeg.ratio > *
selektora. Nije potrebna više klasa, a pomoćnik za omjer sada radi sa bilo kojim HTML elementom. - Sass mapa je
$embed-responsive-aspect-ratios
preimenovana u$aspect-ratios
i njene vrijednosti su pojednostavljene kako bi uključile ime klase i postotak kaokey: value
par. - CSS varijable su sada generirane i uključene za svaku vrijednost u Sass mapi. Izmijenite
--bs-aspect-ratio
varijablu na da.ratio
biste stvorili bilo koji prilagođeni omjer širine i visine .
- Klase su preimenovane kako bi se promijenile
-
Breaking Klase “čitača ekrana” su sada “vizuelno skrivene” klase .
- Promijenjen Sass fajl iz
scss/helpers/_screenreaders.scss
uscss/helpers/_visually-hidden.scss
- Preimenovan
.sr-only
i.sr-only-focusable
u.visually-hidden
i.visually-hidden-focusable
- Preimenovano
sr-only()
isr-only-focusable()
miješanje uvisually-hidden()
ivisually-hidden-focusable()
.
- Promijenjen Sass fajl iz
-
bootstrap-utilities.css
sada uključuje i naše pomagače. Pomoćnici više ne moraju biti uvezeni u prilagođene verzije.
JavaScript
-
Izbačena je jQuery zavisnost i prepravljeni dodaci da budu u običnom JavaScriptu.
-
BreakingAtributi podataka za sve JavaScript dodatke su sada raspoređeni u imenskom prostoru kako bi se pomoglo razlikovati Bootstrap funkcionalnost od trećih strana i vašeg vlastitog koda. Na primjer, koristimo
data-bs-toggle
umjestodata-toggle
. -
Svi dodaci sada mogu prihvatiti CSS selektor kao prvi argument. Možete proslijediti DOM element ili bilo koji važeći CSS selektor da kreirate novu instancu dodatka:
var modal = new bootstrap.Modal('#myModal') var dropdown = new bootstrap.Dropdown('[data-bs-toggle="dropdown"]')
-
popperConfig
može se proslijediti kao funkcija koja prihvaća Bootstrap-ovu zadanu Popper konfiguraciju kao argument, tako da možete spojiti ovu zadanu konfiguraciju na svoj način. Primjenjuje se na padajuće menije, skočne prozore i opise alata. -
Zadana vrijednost za
fallbackPlacements
je promijenjena u['top', 'right', 'bottom', 'left']
radi boljeg postavljanja Popper elemenata. Primjenjuje se na padajuće menije, skočne prozore i opise alata. -
Uklonjena donja crta iz javnih statičkih metoda kao što je
_getInstance()
→getInstance()
.