Migrarea la v5
Urmăriți și examinați modificările aduse fișierelor sursă, documentației și componentelor Bootstrap pentru a vă ajuta să migrați de la v4 la v5.
Dependente
- S-a eliminat jQuery.
- Actualizat de la Popper v1.x la Popper v2.x.
- Libsass a fost înlocuit cu Dart Sass, deoarece compilatorul nostru Sass dat de Libsass a fost depreciat.
- Am migrat de la Jekyll la Hugo pentru a construi documentația noastră
Suport pentru browser
- S-a renunțat la Internet Explorer 10 și 11
- S-a renunțat la Microsoft Edge < 16 (Legacy Edge)
- S-a renunțat la Firefox <60
- Safari scăpat < 12
- S-a scăpat iOS Safari < 12
- S-a scăpat Chrome < 60
Modificări ale documentației
- Pagina de pornire, aspectul documentelor și subsolul au fost reproiectate.
- S-a adăugat un nou ghid pentru colete .
- S-a adăugat o nouă secțiune Personalizare , înlocuind pagina de tematică a v4 , cu noi detalii despre Sass, opțiuni de configurare globală, scheme de culori, variabile CSS și multe altele.
- S-a reorganizat toată documentația formularelor într- o nouă secțiune Formulare , împărțind conținutul în pagini mai concentrate.
- În mod similar, a fost actualizată secțiunea Aspect , pentru a dezvolta mai clar conținutul grilei.
- Pagina componentei „Navs” a fost redenumită în „Navs & Tabs”.
- Pagina „Cecuri” a fost redenumită „Cecuri și radiouri”.
- Am reproiectat bara de navigare și am adăugat un nou subnav pentru a facilita navigarea prin site-urile și versiunile noastre de documente.
- S-a adăugat o nouă comandă rapidă de la tastatură pentru câmpul de căutare: Ctrl + /.
Sass
-
Am renunțat la îmbinările implicite ale hărților Sass pentru a facilita eliminarea valorilor redundante. Rețineți că acum trebuie să definiți toate valorile din hărțile Sass, cum ar fi
$theme-colors
. Aflați cum să tratați hărțile Sass . -
Spargere
color-yiq()
Funcția și variabilele asociate au fost redenumitecolor-contrast()
, deoarece nu mai sunt legate de spațiul de culoare YIQ. Vezi #30168.$yiq-contrasted-threshold
este redenumit în$min-contrast-ratio
.$yiq-text-dark
și$yiq-text-light
, respectiv, sunt redenumite în$color-contrast-dark
și$color-contrast-light
.
-
SpargereParametrii mixinilor de interogare media s-au modificat pentru o abordare mai logică.
media-breakpoint-down()
folosește punctul de întrerupere în sine în locul următorului punct de întrerupere (de exemplu,media-breakpoint-down(lg)
în loc de ferestre demedia-breakpoint-down(md)
vizualizare ținte mai mici decâtlg
).- În mod similar, al doilea parametru în
media-breakpoint-between()
folosește, de asemenea, punctul de întrerupere însuși în loc de următorul punct de întrerupere (de exemplu,media-between(sm, lg)
în loc de ferestrele demedia-breakpoint-between(sm, md)
vizualizare ținte întresm
șilg
).
-
SpargereStilurile de imprimare și
$enable-print-styles
variabilele au fost eliminate. Cursurile de afișare tipărită sunt încă în jur. Vezi #28339 . -
SpargereS-a eliminat
color()
,theme-color()
, șigray()
funcțiile în favoarea variabilelor. Vezi #29083 . -
Spargere
theme-color-level()
Funcția redenumităcolor-level()
și acceptă acum orice culoare doriți în loc de numai$theme-color
culori. Vedeți #29083 Atenție:color-level()
a fost trimis mai târziu înv5.0.0-alpha3
. -
SpargereRedenumită
$enable-prefers-reduced-motion-media-query
și$enable-pointer-cursor-for-buttons
pentru$enable-reduced-motion
și$enable-button-pointers
pentru concizie. -
SpargereAm eliminat
bg-gradient-variant()
mixin-ul. Utilizați.bg-gradient
clasa pentru a adăuga gradienți elementelor în loc de.bg-gradient-*
clasele generate. -
Spargere S-au eliminat mixuri depreciate anterior:
hover
,hover-focus
,plain-hover-focus
, șihover-focus-active
float()
form-control-mixin()
nav-divider()
retina-img()
text-hide()
(a renunțat și la clasa de utilitate asociată,.text-hide
)visibility()
form-control-focus()
-
Spargere
scale-color()
Funcție redenumită pentrushift-color()
a evita coliziunea cu propria funcție de scalare a culorilor a lui Sass. -
box-shadow
mixin-urile permit acumnull
valori și dropnone
din mai multe argumente. Vezi #30394 . -
Mixin -ul
border-radius()
are acum o valoare implicită.
Sistem de culoare
-
Sistemul de culori care a funcționat
color-level()
și$theme-color-interval
a fost eliminat în favoarea unui nou sistem de culori. Toatelighten()
șidarken()
funcțiile din baza noastră de cod sunt înlocuite cutint-color()
șishade-color()
. Aceste funcții vor amesteca culoarea fie cu alb, fie cu negru, în loc să-și schimbe luminozitatea cu o cantitate fixă. Nuanțashift-color()
sau nuanța o culoare, în funcție de dacă parametrul său de greutate este pozitiv sau negativ. Consultați #30622 pentru mai multe detalii. -
S-au adăugat noi nuanțe și nuanțe pentru fiecare culoare, oferind nouă culori separate pentru fiecare culoare de bază, ca noi variabile Sass.
-
Contrast de culoare îmbunătățit. Raport de contrast de culoare crescut de la 3:1 la 4,5:1 și culori actualizate albastru, verde, cyan și roz pentru a asigura contrastul WCAG 2.1 AA. De asemenea, ne-am schimbat culoarea contrastului de culoare de la
$gray-900
la$black
. -
Pentru a susține sistemul nostru de culori, am adăugat noi personalizări
tint-color()
șishade-color()
funcții pentru a ne amesteca culorile în mod corespunzător.
Actualizări ale rețelei
-
Punct de întrerupere nou! S-a adăugat un nou
xxl
punct de întrerupere pentru1400px
și în sus. Nicio modificare la toate celelalte puncte de întrerupere. -
Jgheaburi îmbunătățite. Jgheaburile sunt acum așezate în rem și sunt mai înguste decât v4 (
1.5rem
, sau aproximativ24px
, în jos de la30px
). Acest lucru aliniază jgheaburile sistemului nostru de rețea cu utilitățile noastre de spațiere.- S-a adăugat o nouă clasă de jgheaburi (
.g-*
,.gx-*
, și.gy-*
) pentru a controla jgheaburi orizontale/verticale, jgheaburi orizontale și jgheaburi verticale. - SpargereRedenumită
.no-gutters
în pentru.g-0
a se potrivi cu noile utilități de jgheab.
- S-a adăugat o nouă clasă de jgheaburi (
-
Coloanele nu mai s-au
position: relative
aplicat, așa că poate fi necesar să adăugați.position-relative
la unele elemente pentru a restabili acel comportament. -
SpargereA renunțat la mai multe
.order-*
clase care de multe ori au rămas nefolosite. Oferim acum doar.order-1
la.order-5
din cutie. -
SpargereA renunțat la
.media
componentă, deoarece poate fi reprodusă cu ușurință cu utilități. Consultați #28265 și pagina de utilități flex pentru un exemplu . -
Spargere
bootstrap-grid.css
acum se aplică numaibox-sizing: border-box
coloanei în loc să resetați dimensiunea globală a casetei. În acest fel, stilurile noastre de grilă pot fi folosite în mai multe locuri fără interferențe. -
$enable-grid-classes
nu mai dezactivează generarea de clase de containere. Vezi #29146. -
S -a actualizat
make-col
mixin-ul la valorile implicite la coloane egale fără o dimensiune specificată.
Conținut, repornire etc
-
RFS este acum activat implicit. Titlurile care utilizează
font-size()
mixin-ul se vor ajusta automatfont-size
la scară cu fereastra de vizualizare. Această funcție a fost înscrisă anterior cu v4. -
SpargereAm revizuit tipografia noastră de afișare pentru a înlocui
$display-*
variabilele noastre și cu o$display-font-sizes
hartă Sass. De asemenea, au fost eliminate$display-*-weight
variabilele individuale pentru un singur s$display-font-weight
și ajustatfont-size
. -
S- au adăugat două
.display-*
dimensiuni noi de titlu.display-5
și.display-6
. -
Linkurile sunt subliniate în mod implicit (nu doar la trecerea cursorului), cu excepția cazului în care fac parte din anumite componente.
-
Tabelele reproiectate pentru a le reîmprospăta stilurile și pentru a le reconstrui cu variabile CSS pentru mai mult control asupra stilului.
-
SpargereTabelele imbricate nu mai moștenesc stiluri.
-
Spargere
.thead-light
și.thead-dark
sunt abandonate în favoarea.table-*
claselor de variante care pot fi utilizate pentru toate elementele tabelului (thead
,tbody
,tfoot
,tr
și )th
.td
-
Spargere
table-row-variant()
Mixin -ul este redenumittable-variant()
și acceptă doar 2 parametri:$color
(numele culorii) și$value
(codul culorii). Culoarea chenarului și culorile de accent sunt calculate automat pe baza variabilelor factorului de tabel. -
Împărțiți variabilele de umplutură de celule de tabel în
-y
și-x
. -
SpargereS-a renunțat la
.pre-scrollable
clasă. Vezi #29135 -
Spargere
.text-*
utilitarele nu mai adaugă stări de hover și focus la legături..link-*
pot fi folosite în schimb clase de ajutor. Vezi #29267 -
SpargereS-a renunțat la
.text-justify
clasă. Vezi #29793 -
padding-left
Resetați la orizontală implicită<ul>
și<ol>
elementele din browser40px
la2rem
. -
Adăugat
$enable-smooth-scroll
, care se aplicăscroll-behavior: smooth
la nivel global, cu excepția utilizatorilor care solicită mișcare redusă prinprefers-reduced-motion
interogare media. Vezi #31877
RTL
- Variabilele, utilitățile și mixurile specifice direcției orizontale au fost toate redenumite pentru a utiliza proprietăți logice, cum ar fi cele găsite în layout-urile flexbox - de exemplu,
start
șiend
în loculleft
șiright
.
Forme
-
S-au adăugat noi forme plutitoare! Am promovat exemplul de etichete flotante la componente de formular complet acceptate. Consultați noua pagină Etichete flotante.
-
Spargere Elemente de formular native și personalizate consolidate. Casetele de selectare, radiourile, selecțiile și alte intrări care aveau clase native și personalizate în v4 au fost consolidate. Acum aproape toate elementele noastre de formular sunt în întregime personalizate, majoritatea fără a fi nevoie de HTML personalizat.
.custom-check
este acum.form-check
..custom-check.custom-switch
este acum.form-check.form-switch
..custom-select
este acum.form-select
..custom-file
și.form-file
au fost înlocuite cu stiluri personalizate pe deasupra.form-control
..custom-range
este acum.form-range
.- A scapat nativ
.form-control-file
si.form-control-range
.
-
SpargereScăpat
.input-group-append
și.input-group-prepend
. Acum puteți doar să adăugați butoane și.input-group-text
ca copii direcți ai grupurilor de intrare. -
Raza de chenar lipsă de lungă durată pe grupul de intrare cu un bug de feedback de validare este în sfârșit remediat prin adăugarea unei
.has-validation
clase suplimentare la grupurile de intrare cu validare. -
Spargere S-au renunțat la clasele de aspect specifice formularului pentru sistemul nostru de grilă. Utilizați rețeaua și utilitățile noastre în loc de
.form-group
,.form-row
sau.form-inline
. -
SpargereEtichetele formularelor necesită acum
.form-label
. -
Spargere
.form-text
nu mai seteazădisplay
, permițându-vă să creați text de ajutor în linie sau să blocați după cum doriți doar prin schimbarea elementului HTML. -
Pictogramele de validare nu mai sunt aplicate la
<select>
s cumultiple
. -
Fișierele Sass sursă rearanjate sub
scss/forms/
, inclusiv stilurile grupurilor de intrare.
Componente
- Valorile unificate
padding
pentru alerte, breadcrumb, carduri, meniuri derulante, grupuri de liste, modale, popovers și sfaturi cu instrumente să se bazeze pe$spacer
variabila noastră. Vezi #30564 .
Acordeon
- A fost adăugată o nouă componentă de acordeon .
Alerte
-
Alertele au acum exemple cu pictograme .
-
S-au eliminat stilurile personalizate pentru
<hr>
s în fiecare alertă, deoarece folosesc dejacurrentColor
.
Ecusoane
-
SpargereS-au eliminat toate
.badge-*
clasele de culoare pentru utilitățile de fundal (de exemplu, utilizați.bg-primary
în loc de.badge-primary
). -
SpargereScăpat
.badge-pill
— utilizați în.rounded-pill
schimb utilitarul. -
SpargereS-au eliminat stilurile de trecere cu mouse-ul și de focalizare pentru
<a>
și<button>
elemente. -
Suplimentare implicită crescută pentru insigne de la
.25em
/.5em
la.35em
/.65em
.
Firimituri de pâine
-
S-a simplificat aspectul implicit al pesmetului prin eliminarea
padding
,background-color
șiborder-radius
. -
S- a adăugat o nouă proprietate personalizată CSS
--bs-breadcrumb-divider
pentru personalizare ușoară, fără a fi nevoie să recompilați CSS.
Butoane
-
Spargere Butoanele de comutare , cu casete de selectare sau radio, nu mai necesită JavaScript și au un nou marcaj. Nu mai avem nevoie de un element de împachetare, îl adăugăm
.btn-check
la<input>
, și îl asociam cu orice.btn
clase de pe<label>
. Vezi #30650 . Documentele pentru aceasta s-au mutat din pagina Butoane în noua secțiune Formulare. -
Spargere Renunțat
.btn-block
pentru utilități. În loc să utilizați.btn-block
pe.btn
, înfășurați butoanele cu.d-grid
și un.gap-*
utilitar pentru a le distanța după cum este necesar. Treceți la clasele receptive pentru un control și mai mare asupra lor. Citiți documentele pentru câteva exemple. -
Am actualizat
button-variant()
șibutton-outline-variant()
mixin-urile pentru a accepta parametri suplimentari. -
Butoane actualizate pentru a asigura un contrast sporit la trecerea cu mouse-ul și stările active.
-
Butoanele dezactivate au acum
pointer-events: none;
.
Card
-
SpargereA renunțat
.card-deck
la grila noastră. Împachetați cărțile în clase de coloane și adăugați un.row-cols-*
container părinte pentru a recrea pachetele de cărți (dar cu mai mult control asupra alinierii receptive). -
SpargereRenunțat
.card-columns
în favoarea Masoneriei. Vezi #28922 . -
SpargereAm înlocuit
.card
acordeonul bazat cu o nouă componentă pentru acordeon .
Carusel
-
S-a adăugat o nouă
.carousel-dark
variantă pentru textul întunecat, comenzile și indicatorii (excelent pentru fundaluri mai deschise). -
Pictogramele chevron au fost înlocuite pentru comenzile carusel cu SVG-uri noi din Bootstrap Icons .
Butonul de închidere
-
SpargereRedenumită
.close
pentru.btn-close
un nume mai puțin generic. -
Butoanele de închidere folosesc acum un
background-image
(SVG încorporat) în loc de un×
în HTML, permițând o personalizare mai ușoară fără a fi nevoie să vă atingeți marcajul. -
S-a adăugat o nouă
.btn-close-white
variantă care foloseștefilter: invert(1)
pentru a activa pictogramele de respingere cu contrast mai mare pe fundaluri mai întunecate.
Colaps
- S-a eliminat ancorarea scroll pentru acordeoane.
Mențiuni derulante
-
S-au adăugat o nouă
.dropdown-menu-dark
variantă și variabile asociate pentru meniurile derulante întunecate la cerere. -
S-a adăugat o nouă variabilă pentru
$dropdown-padding-x
. -
Divizorul derulant a fost întunecat pentru un contrast îmbunătățit.
-
SpargereToate evenimentele pentru meniul derulant sunt acum declanșate pe butonul de comutare a listei derulante și apoi sunt afișate la elementul părinte.
-
Meniurile drop-down au acum un
data-bs-popper="static"
atribut setat atunci când poziționarea dropdown-ului este statică șidata-bs-popper="none"
când dropdown-ul este în bara de navigare. Acest lucru este adăugat de JavaScript și ne ajută să folosim stiluri de poziție personalizate fără a interfera cu poziționarea lui Popper. -
SpargereOpțiune abandonată
flip
pentru pluginul dropdown în favoarea configurației native Popper. Acum puteți dezactiva comportamentul de răsturnare trecând o matrice goală pentrufallbackPlacements
opțiune în modificatorul de răsturnare . -
Meniurile drop-down pot fi acum clicabile cu o nouă
autoClose
opțiune pentru a gestiona comportamentul de închidere automată . Puteți utiliza această opțiune pentru a accepta clicul în interiorul sau în afara meniului derulant pentru a-l face interactiv. -
Mențiunile derulante acceptă acum
.dropdown-item
s-urile învelite în<li>
s.
Jumbotron
- SpargereS-a renunțat la componenta jumbotron, deoarece poate fi replicată cu utilități. Vedeți noul nostru exemplu Jumbotron pentru o demonstrație.
Lista grupului
- S-a adăugat un nou
.list-group-numbered
modificator la grupurile de liste.
Navs și file
- S-au adăugat noi
null
variabile pentrufont-size
,font-weight
,color
, și:hover
color
la.nav-link
clasă.
Bare de navigare
- SpargereBarele de navigare necesită acum un container în interior (pentru a simplifica drastic cerințele de spațiere și este necesar CSS).
Offcanvas
- S-a adăugat noua componentă offcanvas .
Paginare
-
Linkurile de paginare au acum elemente personalizabile
margin-left
care sunt rotunjite dinamic pe toate colțurile atunci când sunt separate unul de celălalt. -
S-au adăugat
transition
la linkurile de paginare.
Popovers
-
SpargereRedenumit
.arrow
în.popover-arrow
șablonul nostru popover implicit. -
whiteList
Opțiune redenumită înallowList
.
Spineri
-
Spinners onorează acum
prefers-reduced-motion: reduce
prin încetinirea animațiilor. Vezi #31882 . -
Alinierea verticală îmbunătățită a spinnerului.
Pâine prăjită
-
Pâinele prăjite pot fi acum poziționate într-o
.toast-container
cu ajutorul utilităților de poziționare . -
S-a schimbat durata prestabilită de pâine prăjită la 5 secunde.
-
Scos
overflow: hidden
din pâine prăjită și înlocuit cu s-border-radius
uri adecvate cucalc()
funcții.
Sfaturi instrumente
-
SpargereRedenumit
.arrow
în.tooltip-arrow
șablonul nostru implicit de indicații. -
SpargereValoarea implicită pentru
fallbackPlacements
este schimbată în['top', 'right', 'bottom', 'left']
pentru o mai bună plasare a elementelor popper. -
Spargere
whiteList
Opțiune redenumită înallowList
.
Utilități
-
SpargereAu fost redenumite mai multe utilitare pentru a utiliza nume de proprietăți logice în loc de nume direcționale cu adăugarea suportului RTL:
- Redenumit
.left-*
și.right-*
către.start-*
și.end-*
. - Redenumit
.float-left
și.float-right
către.float-start
și.float-end
. - Redenumit
.border-left
și.border-right
către.border-start
și.border-end
. - Redenumit
.rounded-left
și.rounded-right
către.rounded-start
și.rounded-end
. - Redenumit
.ml-*
și.mr-*
către.ms-*
și.me-*
. - Redenumit
.pl-*
și.pr-*
către.ps-*
și.pe-*
. - Redenumit
.text-left
și.text-right
către.text-start
și.text-end
.
- Redenumit
-
SpargereMarjele negative au fost dezactivate în mod implicit.
-
S-a adăugat o nouă
.bg-body
clasă pentru setarea rapidă a<body>
fundalului lui la elemente suplimentare. -
S- au adăugat noi utilități de poziție pentru
top
,right
,bottom
șileft
. Valorile includ0
,50%
, și100%
pentru fiecare proprietate. -
S-au adăugat noi
.translate-middle-x
și.translate-middle-y
utilități pentru a centra orizontal sau vertical elementele poziționate absolute/fixe. -
Au fost adăugate noi
border-width
utilități . -
SpargereRedenumită
.text-monospace
în.font-monospace
. -
SpargereEliminată
.text-hide
deoarece este o metodă învechită de a ascunde textul care nu ar trebui să mai fie folosit. -
Utilități adăugate
.fs-*
pentrufont-size
utilități (cu RFS activat). Acestea folosesc aceeași scară ca și titlurile implicite ale HTML (1-6, de la mare la mic) și pot fi modificate prin harta Sass. -
Spargere
.font-weight-*
Utilități redenumite.fw-*
pentru concizie și consecvență. -
Spargere
.font-style-*
Utilități redenumite.fst-*
pentru concizie și consecvență. -
Adăugat
.d-grid
la utilități de afișare și utilități noigap
(.gap
) pentru layout-urile CSS Grid și flexbox. -
SpargereS-au eliminat
.rounded-sm
șirounded-lg
, și a introdus o nouă scară de clase,.rounded-0
la.rounded-3
. Vezi #31687 . -
Au fost adăugate noi
line-height
utilități:.lh-1
,.lh-sm
,.lh-base
și.lh-lg
. Vezi aici . -
Am mutat
.d-none
utilitarul în CSS-ul nostru pentru a-i oferi mai multă greutate față de alte utilitare de afișare. -
S-a extins
.visually-hidden-focusable
ajutorul pentru a lucra și pe containere, folosind:focus-within
.
Ajutoare
-
Spargere Ajutoarele de încorporare responsive au fost redenumite pentru a raporta ajutoarele cu nume de clase noi și comportamente îmbunătățite, precum și o variabilă CSS utilă.
- Clasele au fost redenumite pentru a se schimba
by
înx
raportul de aspect. De exemplu,.ratio-16by9
este acum.ratio-16x9
. - Am renunțat la
.embed-responsive-item
selectorul de grup de elemente și în favoarea unui.ratio > *
selector mai simplu. Nu mai este nevoie de clasă, iar ajutorul de raport funcționează acum cu orice element HTML. - Harta
$embed-responsive-aspect-ratios
Sass a fost redenumită$aspect-ratios
și valorile sale au fost simplificate pentru a include numele clasei și procentul cakey: value
pereche. - Variabilele CSS sunt acum generate și incluse pentru fiecare valoare din harta Sass. Modificați
--bs-aspect-ratio
variabila pentru.ratio
a crea orice raport de aspect personalizat .
- Clasele au fost redenumite pentru a se schimba
-
Spargere Clasele „Cititor de ecran” sunt acum clase „ascunse vizual” .
- S-a schimbat fișierul Sass de la
scss/helpers/_screenreaders.scss
lascss/helpers/_visually-hidden.scss
- Redenumită
.sr-only
și.sr-only-focusable
către.visually-hidden
și.visually-hidden-focusable
- Redenumit
sr-only()
șisr-only-focusable()
mixins lavisually-hidden()
șivisually-hidden-focusable()
.
- S-a schimbat fișierul Sass de la
-
bootstrap-utilities.css
acum include și ajutoarele noștri. Ajutoarele nu mai trebuie importate în versiuni personalizate.
JavaScript
-
S-a renunțat la dependența jQuery și am rescris pluginurile pentru a fi în JavaScript obișnuit.
-
SpargereAtributele de date pentru toate pluginurile JavaScript sunt acum spațiate de nume pentru a ajuta la distingerea funcționalității Bootstrap de terțe părți și de propriul cod. De exemplu, folosim
data-bs-toggle
în loc dedata-toggle
. -
Toate pluginurile pot accepta acum un selector CSS ca prim argument. Puteți trece fie un element DOM, fie orice selector CSS valid pentru a crea o nouă instanță a pluginului:
var modal = new bootstrap.Modal('#myModal') var dropdown = new bootstrap.Dropdown('[data-bs-toggle="dropdown"]')
-
popperConfig
poate fi transmisă ca o funcție care acceptă configurația implicită Popper a Bootstrap ca argument, astfel încât să puteți îmbina această configurație implicită în felul dumneavoastră. Se aplică listelor derulante, ferestrelor popover și sfaturi cu instrumente. -
Valoarea implicită pentru
fallbackPlacements
este schimbată în['top', 'right', 'bottom', 'left']
pentru o mai bună plasare a elementelor Popper. Se aplică listelor derulante, ferestrelor popover și sfaturi cu instrumente. -
S-a eliminat sublinierea din metodele statice publice precum
_getInstance()
→getInstance()
.