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.
v5.2.0
Design reîmprospătat
Bootstrap v5.2.0 oferă o actualizare subtilă a designului pentru o mână de componente și proprietăți din cadrul proiectului, mai ales prin valori rafinate border-radius
ale butoanelor și controalelor de formulare . Documentația noastră a fost, de asemenea, actualizată cu o nouă pagină de pornire, un aspect mai simplu al documentelor, care nu mai restrânge secțiunile barei laterale și exemple mai proeminente de pictograme Bootstrap .
Mai multe variabile CSS
Am actualizat toate componentele noastre pentru a folosi variabile CSS. În timp ce Sass încă susține totul, fiecare componentă a fost actualizată pentru a include variabile CSS în clasele de bază ale componentelor (de exemplu, .btn
), permițând mai multă personalizare în timp real a Bootstrap. În versiunile ulterioare, vom continua să extindem utilizarea variabilelor CSS în aspectul, formularele, ajutoarele și utilitățile noastre. Citiți mai multe despre variabilele CSS din fiecare componentă pe paginile de documentație respective.
Utilizarea variabilei noastre CSS va fi oarecum incompletă până la Bootstrap 6. Deși ne-ar plăcea să le implementăm pe deplin, riscă să provoace modificări nerespective. De exemplu, setarea $alert-border-width: var(--bs-border-width)
în codul nostru sursă sparge potențialul Sass în propriul tău cod dacă ai făcut- o dintr- $alert-border-width * 2
un motiv oarecare.
Ca atare, ori de câte ori este posibil, vom continua să facem eforturi către mai multe variabile CSS, dar vă rugăm să recunoașteți că implementarea noastră poate fi ușor limitată în v5.
Nou_maps.scss
Bootstrap v5.2.0 a introdus un nou fișier Sass cu _maps.scss
. Scoate mai multe hărți Sass _variables.scss
pentru a remedia o problemă în care actualizările unei hărți inițiale nu au fost aplicate hărților secundare care le extind. De exemplu, actualizările la $theme-colors
nu au fost aplicate altor hărți tematice care se bazau pe $theme-colors
, rupând fluxurile de lucru de personalizare cheie. Pe scurt, Sass are o limitare în care odată ce o variabilă sau o hartă implicită a fost utilizată , aceasta nu poate fi actualizată. Există un dezavantaj similar cu variabilele CSS atunci când sunt folosite pentru a compune alte variabile CSS.
Acesta este motivul pentru care personalizările variabile din Bootstrap trebuie să apară după @import "functions"
, dar înainte @import "variables"
și restul stivei noastre de import. Același lucru este valabil și pentru hărțile Sass - trebuie să înlocuiți valorile implicite înainte de a fi utilizate. Următoarele hărți au fost mutate în noua _maps.scss
:
$theme-colors-rgb
$utilities-colors
$utilities-text
$utilities-text-colors
$utilities-bg
$utilities-bg-colors
$negative-spacers
$gutters
Compilările dvs. personalizate CSS Bootstrap ar trebui să arate acum cam așa cu un import separat de hărți.
// Functions come first
@import "functions";
// Optional variable overrides here
+ $custom-color: #df711b;
+ $custom-theme-colors: (
+ "custom": $custom-color
+ );
// Variables come next
@import "variables";
+ // Optional Sass map overrides here
+ $theme-colors: map-merge($theme-colors, $custom-theme-colors);
+
+ // Followed by our default maps
+ @import "maps";
+
// Rest of our imports
@import "mixins";
@import "utilities";
@import "root";
@import "reboot";
// etc
Utilitati noi
font-weight
Utilitare extinse pentru a le include.fw-semibold
pentru fonturile semibold.border-radius
Utilități extinse pentru a include două dimensiuni noi.rounded-4
și.rounded-5
, pentru mai multe opțiuni.
Modificări suplimentare
-
S-a introdus o nouă
$enable-container-classes
opțiune. — Acum, când optați pentru aspectul experimental CSS Grid,.container-*
clasele vor fi în continuare compilate, cu excepția cazului în care această opțiune este setată lafalse
. De asemenea, containerele își păstrează acum valorile jgheabului. -
Componenta Offcanvas are acum variații receptive . Clasa inițială
.offcanvas
rămâne neschimbată – ascunde conținutul în toate ferestrele de vizualizare. Pentru a o face receptivă, schimbați acea.offcanvas
clasă în orice.offcanvas-{sm|md|lg|xl|xxl}
clasă. -
Despărțitoarele de masă mai groase sunt acum opt-in. — Am eliminat marginea mai groasă și mai dificil de suprascris dintre grupurile de tabele și am mutat-o într-o clasă opțională pe care o puteți aplica,
.table-group-divider
. Consultați documentele din tabel pentru un exemplu. -
Scrollspy a fost rescris pentru a utiliza API-ul Intersection Observer , ceea ce înseamnă că nu mai aveți nevoie de wrapper-uri parentale relative,
offset
configurația depreciată și multe altele. Căutați ca implementările dvs. Scrollspy să fie mai precise și mai consecvente în evidențierea navigației. -
Popover-urile și sfaturile instrumente folosesc acum variabile CSS. Unele variabile CSS au fost actualizate de la omologii lor Sass pentru a reduce numărul de variabile. Drept urmare, trei variabile au fost depreciate în această ediție:
$popover-arrow-color
,$popover-arrow-outer-color
, și$tooltip-arrow-color
. -
S-au adăugat noi
.text-bg-{color}
ajutoare. În loc să setați individual.text-*
și.bg-*
utilități, puteți utiliza acum ajutorul pentru a.text-bg-*
seta unbackground-color
prim plan contrastantcolor
. -
S-a adăugat
.form-check-reverse
un modificator pentru a inversa ordinea etichetelor și a casetelor de selectare/radiourilor asociate. -
S-a adăugat suport pentru coloane cu dungi la tabele prin noua
.table-striped-columns
clasă.
Pentru o listă completă a modificărilor, consultați proiectul v5.2.0 pe GitHub .
v5.1.0
-
S-a adăugat suport experimental pentru aspectul CSS Grid . — Aceasta este o lucrare în desfășurare și nu este încă gata pentru utilizare în producție, dar puteți opta pentru noua funcție prin Sass. Pentru a o activa, dezactivați grila implicită, setând
$enable-grid-classes: false
și activați Grila CSS setând$enable-cssgrid: true
. -
Barele de navigare actualizate pentru a accepta offcanvas. — Adăugați sertare offcanvas în orice bară de navigare cu clasele receptive
.navbar-expand-*
și unele markupuri offcanvas. -
A fost adăugată o nouă componentă substituent . — Cea mai nouă componentă a noastră, o modalitate de a oferi blocări temporare în locul conținutului real pentru a indica faptul că ceva încă se încarcă pe site-ul sau aplicația dvs.
-
Pluginul de restrângere acceptă acum restrângerea orizontală . — Adăugați
.collapse-horizontal
la dvs..collapse
pentru a restrânge înwidth
loc deheight
. Evitați revopsirea browserului setând unmin-height
sauheight
. -
S-au adăugat ajutoare noi pentru stivă și reguli verticale. — Aplicați rapid mai multe proprietăți flexbox pentru a crea rapid machete personalizate cu stive . Alegeți dintre stivele orizontale (
.hstack
) și verticale ( )..vstack
Adăugați divizoare verticale similare<hr>
elementelor cu noile.vr
ajutoare . -
S-au adăugat noi
:root
variabile CSS globale. — S- au adăugat câteva variabile CSS noi la:root
nivelul de control al<body>
stilurilor. Mai multe sunt în lucru, inclusiv în utilitățile și componentele noastre, dar pentru moment citiți variabilele CSS în secțiunea Personalizare . -
Utilitare de culoare și de fundal revizuite pentru a utiliza variabilele CSS și au adăugat noi utilitare pentru opacitatea textului și opacitatea fundalului . —
.text-*
iar.bg-*
utilitarele sunt acum construite cu variabile CSS șirgba()
valori de culoare, permițându-vă să personalizați cu ușurință orice utilitar cu noi utilitare de opacitate. -
S-au adăugat noi exemple de fragmente bazate pentru a arăta cum să personalizăm componentele noastre. — Trageți gata de utilizare componente personalizate și alte modele de design obișnuite cu noile noastre exemple de fragmente . Include subsoluri , liste derulante , grupuri de liste și modal .
-
S-au eliminat stilurile de poziționare neutilizate din popovers și tooltips , deoarece acestea sunt gestionate exclusiv de Popper.
$tooltip-margin
a fost depreciat și setatnull
în acest proces.
Doriți mai multe informații? Citiți articolul de blog v5.1.0.
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 -
Spargere
<hr>
elementele folosesc acumheight
în loc deborder
pentru a susține mai binesize
atributul. Acest lucru permite, de asemenea, utilizarea utilităților de umplutură pentru a crea separatoare mai groase (de exemplu,<hr class="py-1">
). -
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-control.custom-checkbox
este acum.form-check
..custom-control.custom-custom-radio
este acum.form-check
..custom-control.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. -
Controalele formularului nu mai sunt folosite fixe
height
atunci când este posibil, în schimb amânând pentrumin-height
a îmbunătăți personalizarea și compatibilitatea cu alte componente. -
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 drop-down-ului este statică sau drop-down 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).
- SpargereClasa
.active
nu mai poate fi aplicată la.nav-item
s, trebuie aplicată direct pe.nav-link
s.
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-*
la.start-*
și.end-*
. - Redenumită
.float-left
și.float-right
la.float-start
și.float-end
. - Redenumită
.border-left
și.border-right
la.border-start
și.border-end
. - Redenumită
.rounded-left
și.rounded-right
la.rounded-start
și.rounded-end
. - Redenumită
.ml-*
și.mr-*
la.ms-*
și.me-*
. - Redenumită
.pl-*
și.pr-*
la.ps-*
și.pe-*
. - Redenumită
.text-left
și.text-right
la.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:
const modal = new bootstrap.Modal('#myModal') const 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()
.