Migrazione alla v5
Tieni traccia e rivedi le modifiche ai file di origine, alla documentazione e ai componenti di Bootstrap per aiutarti a migrare dalla v4 alla v5.
v5.2.0
Design rinnovato
Bootstrap v5.2.0 presenta un sottile aggiornamento del design per una manciata di componenti e proprietà in tutto il progetto, in particolare attraverso border-radius
valori perfezionati su pulsanti e controlli dei moduli . Anche la nostra documentazione è stata aggiornata con una nuova home page, un layout dei documenti più semplice che non comprime più sezioni della barra laterale ed esempi più importanti di icone Bootstrap .
Più variabili CSS
Abbiamo aggiornato tutti i nostri componenti per utilizzare le variabili CSS. Mentre Sass è ancora alla base di tutto, ogni componente è stato aggiornato per includere variabili CSS nelle classi di base dei componenti (ad esempio, .btn
), consentendo una maggiore personalizzazione in tempo reale di Bootstrap. Nelle versioni successive, continueremo ad espandere il nostro uso delle variabili CSS nel nostro layout, moduli, helper e utilità. Maggiori informazioni sulle variabili CSS in ciascun componente nelle rispettive pagine di documentazione.
Il nostro utilizzo delle variabili CSS sarà alquanto incompleto fino a Bootstrap 6. Anche se ci piacerebbe implementarli completamente su tutta la linea, corrono il rischio di causare modifiche interrotte. Ad esempio, l'impostazione $alert-border-width: var(--bs-border-width)
nel nostro codice sorgente interrompe il potenziale Sass nel tuo codice se lo stavi facendo $alert-border-width * 2
per qualche motivo.
Pertanto, ove possibile, continueremo a spingere verso più variabili CSS, ma ti preghiamo di riconoscere che la nostra implementazione potrebbe essere leggermente limitata nella v5.
Nuovo_maps.scss
Bootstrap v5.2.0 ha introdotto un nuovo file Sass con _maps.scss
. Estrae diverse mappe Sass da _variables.scss
per risolvere un problema per cui gli aggiornamenti a una mappa originale non venivano applicati alle mappe secondarie che le estendono. Ad esempio, gli aggiornamenti a $theme-colors
non venivano applicati ad altre mappe tematiche che si basavano su $theme-colors
, interrompendo i flussi di lavoro di personalizzazione chiave. In breve, Sass ha una limitazione per cui una volta utilizzata una variabile o una mappa di default , non può essere aggiornata. C'è una lacuna simile con le variabili CSS quando vengono utilizzate per comporre altre variabili CSS.
Questo è il motivo per cui le personalizzazioni variabili in Bootstrap devono venire dopo @import "functions"
, ma prima @import "variables"
e il resto del nostro stack di importazione. Lo stesso vale per le mappe Sass: devi sovrascrivere le impostazioni predefinite prima che vengano utilizzate. Le seguenti mappe sono state spostate nel nuovo _maps.scss
:
$theme-colors-rgb
$utilities-colors
$utilities-text
$utilities-text-colors
$utilities-bg
$utilities-bg-colors
$negative-spacers
$gutters
Le tue build CSS Bootstrap personalizzate dovrebbero ora avere un aspetto simile a questo con un'importazione di mappe separata.
// 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
Nuove utilità
font-weight
Utilità estese da includere.fw-semibold
per i caratteri semigrassetto.border-radius
Utilità ampliate per includere due nuove dimensioni.rounded-4
e.rounded-5
, per ulteriori opzioni.
Ulteriori modifiche
-
Introdotta nuova
$enable-container-classes
opzione. — Ora, quando si attiva il layout sperimentale della griglia CSS,.container-*
le classi verranno comunque compilate, a meno che questa opzione non sia impostata sufalse
. Anche i contenitori ora mantengono i loro valori di grondaia. -
Il componente Offcanvas ora ha variazioni reattive . La
.offcanvas
classe originale rimane invariata: nasconde il contenuto in tutte le finestre. Per renderlo reattivo, cambia quella.offcanvas
classe in qualsiasi.offcanvas-{sm|md|lg|xl|xxl}
classe. -
I divisori da tavolo più spessi sono ora disponibili. — Abbiamo rimosso il bordo più spesso e più difficile da ignorare tra i gruppi di tabelle e lo abbiamo spostato in una classe facoltativa che puoi applicare,
.table-group-divider
. Vedere i documenti della tabella per un esempio. -
Scrollspy è stato riscritto per utilizzare l'Intersection Observer API , il che significa che non hai più bisogno di wrapper padre relativi,
offset
configurazione obsoleta e altro. Cerca che le tue implementazioni di Scrollspy siano più accurate e coerenti nell'evidenziazione della navigazione. -
I popover e le descrizioni comandi ora utilizzano variabili CSS. Alcune variabili CSS sono state aggiornate dalle loro controparti Sass per ridurre il numero di variabili. Di conseguenza, tre variabili sono state deprecate in questa versione:
$popover-arrow-color
,$popover-arrow-outer-color
, e$tooltip-arrow-color
. -
Aggiunti nuovi
.text-bg-{color}
aiutanti. Invece di impostare singoli.text-*
e.bg-*
utilità, ora puoi utilizzare gli.text-bg-*
helper per impostare unbackground-color
primo piano con contrastocolor
. -
Aggiunto
.form-check-reverse
modificatore per capovolgere l'ordine delle etichette e delle caselle di controllo/radio associate. -
Aggiunto il supporto delle colonne a strisce alle tabelle tramite la nuova
.table-striped-columns
classe.
Per un elenco completo delle modifiche, vedere il progetto v5.2.0 su GitHub .
v5.1.0
-
Aggiunto supporto sperimentale per il layout della griglia CSS . — Questo è un lavoro in corso e non è ancora pronto per l'uso in produzione, ma puoi attivare la nuova funzionalità tramite Sass. Per abilitarlo, disabilitare la griglia predefinita, impostando
$enable-grid-classes: false
e abilitare la Griglia CSS impostando$enable-cssgrid: true
. -
Barre di navigazione aggiornate per supportare offcanvas. — Aggiungi cassetti offcanvas in qualsiasi barra di navigazione con le
.navbar-expand-*
classi reattive e alcuni markup offcanvas. -
Aggiunto nuovo componente segnaposto . — Il nostro componente più recente, un modo per fornire blocchi temporanei al posto del contenuto reale per aiutare a indicare che qualcosa è ancora in carica nel tuo sito o nella tua app.
-
Il plug-in Comprimi ora supporta il collasso orizzontale . — Aggiungi
.collapse-horizontal
al tuo.collapse
per comprimerewidth
invece diheight
. Evita il ridisegno del browser impostando amin-height
oheight
. -
Aggiunti nuovi helper per lo stack e le regole verticali. — Applica rapidamente più proprietà flexbox per creare rapidamente layout personalizzati con pile . Scegli tra pile orizzontali (
.hstack
) e verticali ( )..vstack
Aggiungi divisori verticali simili agli<hr>
elementi con i nuovi.vr
aiutanti . -
Aggiunte nuove
:root
variabili CSS globali. — Aggiunte diverse nuove variabili CSS al:root
livello per il controllo degli<body>
stili. Altri sono in lavorazione, anche attraverso le nostre utilità e componenti, ma per ora leggi le variabili CSS nella sezione Personalizza . -
Utilità di colore e sfondo revisionate per utilizzare le variabili CSS e aggiunte nuove utilità di opacità del testo e opacità dello sfondo . —
.text-*
e.bg-*
le utilità sono ora costruite con variabili CSS ergba()
valori di colore, consentendoti di personalizzare facilmente qualsiasi utilità con nuove utilità di opacità. -
Aggiunti nuovi esempi di snippet basati per mostrare come personalizzare i nostri componenti. — Estrai componenti personalizzati pronti per l'uso e altri modelli di progettazione comuni con i nostri nuovi esempi di frammenti . Include piè di pagina , menu a discesa , gruppi di elenchi e modali .
-
Rimossi gli stili di posizionamento inutilizzati dai popover e dai suggerimenti poiché questi sono gestiti esclusivamente da Popper.
$tooltip-margin
è stato deprecato e impostato sunull
nel processo.
Vuoi maggiori informazioni? Leggi il post sul blog v5.1.0.
Dipendenze
- jQuery eliminato.
- Aggiornato da Popper v1.x a Popper v2.x.
- Sostituito Libsass con Dart Sass poiché il nostro compilatore Sass dato Libsass era deprecato.
- Migrato da Jekyll a Hugo per la creazione della nostra documentazione
Supporto browser
- Eliminato Internet Explorer 10 e 11
- Eliminato Microsoft Edge < 16 (Legacy Edge)
- Firefox abbandonato < 60
- Safari abbandonato < 12
- Safari iOS abbandonato < 12
- Chrome caduto < 60
Modifiche alla documentazione
- Home page, layout dei documenti e piè di pagina ridisegnati.
- Aggiunta nuova guida ai pacchi .
- Aggiunta una nuova sezione Personalizza , che sostituisce la pagina Temi della v4 , con nuovi dettagli su Sass, opzioni di configurazione globale, combinazioni di colori, variabili CSS e altro ancora.
- Riorganizzata tutta la documentazione dei moduli nella nuova sezione Moduli , suddividendo il contenuto in pagine più mirate.
- Allo stesso modo, è stata aggiornata la sezione Layout , per arricchire il contenuto della griglia in modo più chiaro.
- Rinominata la pagina del componente "Navi" in "Navi e schede".
- Rinominata la pagina "Assegni" in "Assegni e radio".
- Ridisegnata la barra di navigazione e aggiunto un nuovo sottonav per semplificare la navigazione nei nostri siti e nelle versioni dei documenti.
- Aggiunta nuova scorciatoia da tastiera per il campo di ricerca: Ctrl + /.
Sass
-
Abbiamo abbandonato le unioni di mappe Sass predefinite per semplificare la rimozione dei valori ridondanti. Tieni presente che ora devi definire tutti i valori nelle mappe Sass come
$theme-colors
. Scopri come gestire le mappe Sass . -
RotturaFunzione rinominata
color-yiq()
e variabili correlate incolor-contrast()
quanto non è più correlata allo spazio colore YIQ. Vedi #30168.$yiq-contrasted-threshold
viene rinominato in$min-contrast-ratio
.$yiq-text-dark
e$yiq-text-light
sono rispettivamente rinominati$color-contrast-dark
e$color-contrast-light
.
-
RotturaI parametri dei mixin di query multimediali sono stati modificati per un approccio più logico.
media-breakpoint-down()
utilizza il punto di interruzione stesso invece del punto di interruzione successivo (ad esempio,media-breakpoint-down(lg)
invece dimedia-breakpoint-down(md)
visualizzare finestre di destinazione più piccole dilg
).- Allo stesso modo, anche il secondo parametro in
media-breakpoint-between()
usa il punto di interruzione stesso invece del punto di interruzione successivo (ad esempio,media-between(sm, lg)
invece dellemedia-breakpoint-between(sm, md)
finestre di destinazione trasm
elg
).
-
RotturaStili di stampa e
$enable-print-styles
variabili rimossi. Le classi di visualizzazione della stampa sono ancora in circolazione. Vedi #28339 . -
RotturaDropped
color()
,theme-color()
, egray()
funzioni a favore delle variabili. Vedi #29083 . -
Rottura
theme-color-level()
La funzione rinominatacolor-level()
e ora accetta qualsiasi colore desiderato invece dei soli$theme-color
colori. Vedi #29083 Attenzione:color-level()
è stato successivamente inseritov5.0.0-alpha3
. -
RotturaRinominato
$enable-prefers-reduced-motion-media-query
e$enable-pointer-cursor-for-buttons
in$enable-reduced-motion
e$enable-button-pointers
per brevità. -
RotturaRimosso il
bg-gradient-variant()
mix. Usa la.bg-gradient
classe per aggiungere sfumature agli elementi invece delle.bg-gradient-*
classi generate. -
Rottura Mixin precedentemente deprecati rimossi:
hover
,hover-focus
,plain-hover-focus
, ehover-focus-active
float()
form-control-mixin()
nav-divider()
retina-img()
text-hide()
(ha anche eliminato la classe di utilità associata,.text-hide
)visibility()
form-control-focus()
-
Rottura
scale-color()
Funzione rinominata inshift-color()
per evitare collisioni con la funzione di ridimensionamento del colore di Sass. -
box-shadow
mixins ora consentenull
valori e dropnone
da più argomenti. Vedi #30394 . -
Il
border-radius()
mixin ora ha un valore predefinito.
Sistema di colore
-
Il sistema di colori con cui funzionava
color-level()
ed$theme-color-interval
è stato rimosso a favore di un nuovo sistema di colori. Tuttelighten()
e ledarken()
funzioni nella nostra base di codice sono sostituite datint-color()
eshade-color()
. Queste funzioni mescoleranno il colore con il bianco o il nero invece di cambiarne la luminosità di una quantità fissa. Ilshift-color()
colore o ombreggerà un colore a seconda che il suo parametro di peso sia positivo o negativo. Vedere #30622 per maggiori dettagli. -
Aggiunte nuove tinte e sfumature per ogni colore, fornendo nove colori separati per ogni colore di base, come nuove variabili Sass.
-
Contrasto cromatico migliorato. Rapporto di contrasto del colore aumentato da 3:1 a 4,5:1 e colori blu, verde, ciano e rosa aggiornati per garantire un contrasto WCAG 2.1 AA. Anche cambiato il nostro colore di contrasto del colore da
$gray-900
a$black
. -
Per supportare il nostro sistema di colori, abbiamo aggiunto nuove funzioni personalizzate
tint-color()
eshade-color()
per mescolare i nostri colori in modo appropriato.
Aggiornamenti della griglia
-
Nuovo punto di interruzione! Aggiunto nuovo
xxl
punto di interruzione per1400px
e su. Nessuna modifica a tutti gli altri punti di interruzione. -
Grondaie migliorate. Le grondaie ora sono impostate in rem e sono più strette di v4 (
1.5rem
, o circa24px
, in basso da30px
). Questo allinea le grondaie del nostro sistema di griglia con le nostre utilità di spaziatura.- Aggiunta una nuova classe di grondaie (
.g-*
,.gx-*
, e.gy-*
) per controllare le grondaie orizzontali/verticali, le grondaie orizzontali e le grondaie verticali. - RotturaRinominato
.no-gutters
in.g-0
per abbinare le nuove utilità di grondaia.
- Aggiunta una nuova classe di grondaie (
-
Le colonne non sono più state
position: relative
applicate, quindi potresti dover aggiungere.position-relative
alcuni elementi per ripristinare quel comportamento. -
RotturaAbbandonato diverse
.order-*
classi che spesso non venivano utilizzate. Ora forniamo solo.order-1
out.order-5
of the box. -
RotturaEliminato il
.media
componente in quanto può essere facilmente replicato con le utilità. Vedere #28265 e la pagina delle utilità flessibili per un esempio . -
Rottura
bootstrap-grid.css
ora si applica solobox-sizing: border-box
alla colonna invece di reimpostare il ridimensionamento globale della casella. In questo modo, i nostri stili di griglia possono essere utilizzati in più posti senza interferenze. -
$enable-grid-classes
non disabilita più la generazione di classi contenitore. Vedi #29146. -
Aggiornato il
make-col
mixin per impostare colonne uguali senza una dimensione specificata.
Contenuto, riavvio, ecc
-
RFS è ora abilitato per impostazione predefinita. Le intestazioni che utilizzano il
font-size()
mixin regoleranno automaticamente la lorofont-size
scala con il viewport. Questa funzione è stata precedentemente attivata con la v4. -
RotturaRevisionata la nostra tipografia di visualizzazione per sostituire le nostre
$display-*
variabili e con una$display-font-sizes
mappa Sass. Rimosse anche le singole$display-*-weight
variabili per un singolo$display-font-weight
sfont-size
. -
Aggiunte due nuove
.display-*
dimensioni dell'intestazione.display-5
e.display-6
. -
I collegamenti sono sottolineati per impostazione predefinita (non solo al passaggio del mouse), a meno che non facciano parte di componenti specifici.
-
Tabelle riprogettate per aggiornare i loro stili e ricostruirle con variabili CSS per un maggiore controllo sullo stile.
-
RotturaLe tabelle nidificate non ereditano più gli stili.
-
Rottura
.thead-light
e.thead-dark
vengono eliminate a favore delle.table-*
classi variant che possono essere utilizzate per tutti gli elementi della tabella ( ,thead
,tbody
,tfoot
etr
) .th
td
-
RotturaIl
table-row-variant()
mixin viene rinominatotable-variant()
e accetta solo 2 parametri:$color
(nome colore) e$value
(codice colore). Il colore del bordo e i colori degli accenti vengono calcolati automaticamente in base alle variabili dei fattori della tabella. -
Dividi le variabili di riempimento della cella della tabella in
-y
e-x
. -
RotturaClasse abbandonata
.pre-scrollable
. Vedi #29135 -
Rottura
.text-*
le utility non aggiungono più stati al passaggio del mouse e focus ai collegamenti..link-*
invece possono essere utilizzate classi helper. Vedi #29267 -
RotturaClasse abbandonata
.text-justify
. Vedi #29793 -
Rottura
<hr>
gli elementi ora usanoheight
invece diborder
per supportare meglio l'size
attributo. Ciò consente anche l'uso di utilità di riempimento per creare divisori più spessi (ad esempio,<hr class="py-1">
). -
padding-left
Ripristina l' orizzontale predefinito<ul>
e<ol>
gli elementi dal predefinito del browser40px
a2rem
. -
Aggiunto
$enable-smooth-scroll
, che si applicascroll-behavior: smooth
a livello globale, ad eccezione degli utenti che richiedono una riduzione del movimento tramiteprefers-reduced-motion
query multimediali. Vedi #31877
RTL
- Le variabili, le utilità e i mixin specifici della direzione orizzontale sono stati tutti rinominati per utilizzare proprietà logiche come quelle che si trovano nei layout flexbox, ad esempio
start
eend
al posto dileft
eright
.
Le forme
-
Aggiunte nuove forme fluttuanti! Abbiamo promosso l'esempio di etichette mobili a componenti di moduli completamente supportati. Vedi la nuova pagina Etichette mobili.
-
Rottura Elementi di moduli nativi e personalizzati consolidati. Caselle di controllo, radio, selezioni e altri input che avevano classi native e personalizzate nella v4 sono stati consolidati. Ora quasi tutti i nostri elementi del modulo sono interamente personalizzati, la maggior parte senza la necessità di HTML personalizzato.
.custom-control.custom-checkbox
è adesso.form-check
..custom-control.custom-custom-radio
è adesso.form-check
..custom-control.custom-switch
è adesso.form-check.form-switch
..custom-select
è adesso.form-select
..custom-file
e.form-file
sono stati sostituiti da stili personalizzati in cima a.form-control
..custom-range
è adesso.form-range
.- Nativo abbandonato
.form-control-file
e.form-control-range
.
-
RotturaCaduto
.input-group-append
e.input-group-prepend
. Ora puoi semplicemente aggiungere pulsanti e.input-group-text
come figli diretti dei gruppi di input. -
Il lungo raggio di confine mancante sul gruppo di input con bug di feedback di convalida è stato finalmente risolto aggiungendo una
.has-validation
classe aggiuntiva ai gruppi di input con convalida. -
Rottura Classi di layout specifiche del modulo eliminate per il nostro sistema di griglia. Usa la nostra griglia e le nostre utility invece di
.form-group
,.form-row
o.form-inline
. -
RotturaLe etichette dei moduli ora richiedono
.form-label
. -
Rottura
.form-text
non è più setdisplay
, permettendoti di creare in linea o bloccare il testo della guida come desideri semplicemente modificando l'elemento HTML. -
I controlli del modulo non sono più stati utilizzati fissi
height
quando possibile, ma rinviatimin-height
per migliorare la personalizzazione e la compatibilità con altri componenti. -
Le icone di convalida non vengono più applicate ai messaggi di posta
<select>
elettronica conmultiple
. -
File Sass sorgente riorganizzati in
scss/forms/
, inclusi gli stili dei gruppi di input.
Componenti
- Valori unificati
padding
per avvisi, breadcrumb, schede, menu a discesa, gruppi di elenchi, modali, popover e suggerimenti per essere basati sulla nostra$spacer
variabile. Vedi #30564 .
Fisarmonica
- Aggiunto nuovo componente per fisarmonica .
Avvisi
-
Gli avvisi ora hanno esempi con icone .
-
Rimossi gli stili personalizzati per messaggi di posta
<hr>
elettronica in ogni avviso poiché utilizzano giàcurrentColor
.
Distintivi
-
RotturaEliminate tutte le
.badge-*
classi di colore per le utilità di sfondo (ad esempio, usa.bg-primary
invece di.badge-primary
). -
RotturaRilasciato : utilizzare invece
.badge-pill
l'.rounded-pill
utilità. -
RotturaRimossi gli stili al passaggio del mouse e di messa a fuoco per
<a>
e<button>
gli elementi. -
Aumentato il riempimento predefinito per i badge da
.25em
/.5em
a.35em
/.65em
.
Briciole di pane
-
Semplificato l'aspetto predefinito dei breadcrumb rimuovendo
padding
,background-color
, eborder-radius
. -
Aggiunta nuova proprietà personalizzata CSS
--bs-breadcrumb-divider
per una facile personalizzazione senza la necessità di ricompilare CSS.
Bottoni
-
Rottura I pulsanti di commutazione , con caselle di controllo o radio, non richiedono più JavaScript e hanno un nuovo markup. Non abbiamo più bisogno di un elemento di avvolgimento, aggiungilo
.btn-check
a<input>
e abbinalo a qualsiasi.btn
classe su<label>
. Vedi #30650 . I documenti per questo sono stati spostati dalla nostra pagina Pulsanti alla nuova sezione Moduli. -
Rottura Abbandonato
.btn-block
per utilità. Invece di usare.btn-block
su.btn
, avvolgi i tuoi pulsanti con.d-grid
e.gap-*
un'utilità per distanziarli secondo necessità. Passa alle classi reattive per un controllo ancora maggiore su di esse. Leggi i documenti per alcuni esempi. -
Aggiornato our
button-variant()
ebutton-outline-variant()
mixin per supportare parametri aggiuntivi. -
Pulsanti aggiornati per garantire un maggiore contrasto al passaggio del mouse e negli stati attivi.
-
I pulsanti disabilitati ora hanno
pointer-events: none;
.
Carta
-
RotturaAbbattuto
.card-deck
a favore della nostra griglia. Avvolgi le tue carte in classi di colonne e aggiungi un.row-cols-*
contenitore principale per ricreare i mazzi di carte (ma con un maggiore controllo sull'allineamento reattivo). -
RotturaAbbandonato
.card-columns
a favore della Massoneria. Vedi #28922 . -
RotturaSostituita la
.card
fisarmonica basata con un nuovo componente Accordion .
Giostra
-
Aggiunta una nuova
.carousel-dark
variante per testo scuro, controlli e indicatori (ottimo per sfondi più chiari). -
Sostituite le icone chevron per i controlli del carosello con i nuovi SVG di Bootstrap Icons .
Pulsante Chiudi
-
RotturaRinominato
.close
per.btn-close
un nome meno generico. -
I pulsanti di chiusura ora utilizzano un
background-image
(SVG incorporato) invece di un×
nell'HTML, consentendo una personalizzazione più semplice senza la necessità di modificare il markup. -
Aggiunta una nuova
.btn-close-white
variante chefilter: invert(1)
consente di abilitare le icone di eliminazione del contrasto più elevato su sfondi più scuri.
Crollo
- Rimosso l'ancoraggio a scorrimento per le fisarmoniche.
Dropdown
-
Aggiunta una nuova
.dropdown-menu-dark
variante e variabili associate per i menu a discesa scuri su richiesta. -
Aggiunta nuova variabile per
$dropdown-padding-x
. -
Scurito il divisore a discesa per migliorare il contrasto.
-
RotturaTutti gli eventi per il menu a discesa vengono ora attivati sul pulsante di attivazione/disattivazione del menu a discesa e quindi visualizzati in bolla nell'elemento padre.
-
I menu a discesa ora hanno un
data-bs-popper="static"
attributo impostato quando il posizionamento del menu a discesa è statico o il menu a discesa è nella barra di navigazione. Questo è aggiunto dal nostro JavaScript e ci aiuta a utilizzare stili di posizione personalizzati senza interferire con il posizionamento di Popper. -
RotturaOpzione eliminata
flip
per il plug-in a discesa a favore della configurazione nativa di Popper. Ora puoi disabilitare il comportamento di capovolgimento passando un array vuoto per l'fallbackPlacements
opzione nel modificatore di capovolgimento . -
I menu a discesa possono ora essere cliccabili con una nuova
autoClose
opzione per gestire il comportamento di chiusura automatica . Puoi utilizzare questa opzione per accettare il clic all'interno o all'esterno del menu a discesa per renderlo interattivo. -
I menu a discesa ora supportano
.dropdown-item
s racchiusi in<li>
s.
Jumbotron
- RotturaEliminato il componente jumbotron in quanto può essere replicato con le utilità. Guarda il nostro nuovo esempio Jumbotron per una demo.
Gruppo elenco
- Aggiunto nuovo
.list-group-numbered
modificatore per elencare i gruppi.
Navigatori e schede
- Aggiunte nuove
null
variabili perfont-size
,font-weight
,color
e:hover
color
alla.nav-link
classe.
barre di navigazione
- RotturaLe barre di navigazione ora richiedono un contenitore all'interno (per semplificare drasticamente i requisiti di spaziatura e CSS richiesti).
- RotturaLa
.active
classe non è più applicabile a.nav-item
s, deve essere applicata direttamente a.nav-link
s.
Fuori tela
- Aggiunto il nuovo componente offcanvas .
Impaginazione
-
I collegamenti di impaginazione ora sono personalizzabili
margin-left
che vengono arrotondati dinamicamente su tutti gli angoli quando separati l'uno dall'altro. -
Aggiunti
transition
messaggi di posta elettronica ai collegamenti di impaginazione.
Popover
-
RotturaRinominato
.arrow
in.popover-arrow
nel nostro modello popover predefinito. -
whiteList
Opzione rinominata inallowList
.
Filatori
-
Gli spinner ora onorano
prefers-reduced-motion: reduce
rallentando le animazioni. Vedi #31882 . -
Allineamento verticale dello spinner migliorato.
Brindisi
-
I toast possono ora essere posizionati in a
.toast-container
con l'aiuto delle utilità di posizionamento . -
Durata del brindisi predefinita modificata a 5 secondi.
-
Rimosso
overflow: hidden
dai brindisi e sostituito conborder-radius
s appropriati concalc()
funzioni.
Suggerimenti
-
RotturaRinominato
.arrow
in.tooltip-arrow
nel nostro modello di descrizione comando predefinito. -
RotturaIl valore predefinito per
fallbackPlacements
viene modificato in['top', 'right', 'bottom', 'left']
per un migliore posizionamento degli elementi popper. -
Rottura
whiteList
Opzione rinominata inallowList
.
Utilità
-
RotturaRinominate diverse utilità per utilizzare nomi di proprietà logiche invece di nomi direzionali con l'aggiunta del supporto RTL:
- Rinominato
.left-*
e.right-*
in.start-*
e.end-*
. - Rinominato
.float-left
e.float-right
in.float-start
e.float-end
. - Rinominato
.border-left
e.border-right
in.border-start
e.border-end
. - Rinominato
.rounded-left
e.rounded-right
in.rounded-start
e.rounded-end
. - Rinominato
.ml-*
e.mr-*
in.ms-*
e.me-*
. - Rinominato
.pl-*
e.pr-*
in.ps-*
e.pe-*
. - Rinominato
.text-left
e.text-right
in.text-start
e.text-end
.
- Rinominato
-
RotturaMargini negativi disabilitati per impostazione predefinita.
-
Aggiunta una nuova
.bg-body
classe per impostare rapidamente lo<body>
sfondo di ' su elementi aggiuntivi. -
Aggiunte nuove utilità di posizione per
top
,right
,bottom
eleft
. I valori includono0
,50%
e100%
per ogni proprietà. -
Aggiunte nuove
.translate-middle-x
e.translate-middle-y
utilità per centrare orizzontalmente o verticalmente gli elementi posizionati assoluti/fissi. -
Aggiunte nuove
border-width
utilità . -
RotturaRinominato
.text-monospace
in.font-monospace
. -
RotturaRimosso
.text-hide
in quanto metodo antiquato per nascondere il testo che non dovrebbe più essere utilizzato. -
Aggiunte
.fs-*
utilità perfont-size
le utilità (con RFS abilitato). Questi utilizzano la stessa scala delle intestazioni predefinite dell'HTML (1-6, da grande a piccolo) e possono essere modificati tramite la mappa Sass. -
Rottura
.font-weight-*
Utilità rinominate.fw-*
per brevità e coerenza. -
Rottura
.font-style-*
Utilità rinominate.fst-*
per brevità e coerenza. -
Aggiunte
.d-grid
per visualizzare utilità e nuovegap
utilità (.gap
) per layout CSS Grid e flexbox. -
RotturaRimosso
.rounded-sm
erounded-lg
, e introdotta una nuova scala di classi,.rounded-0
a.rounded-3
. Vedi #31687 . -
Aggiunte nuove
line-height
utilità:.lh-1
,.lh-sm
,.lh-base
e.lh-lg
. Vedi qui . -
Spostata l'
.d-none
utilità nel nostro CSS per darle più peso rispetto ad altre utilità di visualizzazione. -
Esteso l'
.visually-hidden-focusable
helper per lavorare anche sui contenitori, usando:focus-within
.
Aiutanti
-
Rottura Gli helper di incorporamento reattivi sono stati rinominati per proporzionare gli helper con nuovi nomi di classe e comportamenti migliorati, oltre a un'utile variabile CSS.
by
Le classi sono state rinominate per cambiarex
le proporzioni. Ad esempio,.ratio-16by9
è ora.ratio-16x9
.- Abbiamo eliminato il
.embed-responsive-item
selettore del gruppo di elementi e a favore di un.ratio > *
selettore più semplice. Non è necessaria più la classe e l'helper del rapporto ora funziona con qualsiasi elemento HTML. - La
$embed-responsive-aspect-ratios
mappa Sass è stata rinominata$aspect-ratios
e i suoi valori sono stati semplificati per includere il nome della classe e la percentuale comekey: value
coppia. - Le variabili CSS vengono ora generate e incluse per ogni valore nella mappa Sass. Modificare la
--bs-aspect-ratio
variabile su.ratio
per creare qualsiasi rapporto di aspetto personalizzato .
-
Rottura Le classi "Screen reader" ora sono classi "visivamente nascoste" .
- Modificato il file Sass da
scss/helpers/_screenreaders.scss
ascss/helpers/_visually-hidden.scss
- Rinominato
.sr-only
e.sr-only-focusable
in.visually-hidden
e.visually-hidden-focusable
- Rinominato
sr-only()
esr-only-focusable()
mixin invisually-hidden()
evisually-hidden-focusable()
.
- Modificato il file Sass da
-
bootstrap-utilities.css
ora include anche i nostri aiutanti. Gli helper non devono più essere importati nelle build personalizzate.
JavaScript
-
Rilasciata la dipendenza da jQuery e riscritti i plugin in modo che fossero in JavaScript normale.
-
RotturaGli attributi dei dati per tutti i plug-in JavaScript ora hanno uno spazio dei nomi per aiutare a distinguere la funzionalità Bootstrap da terze parti e dal tuo codice. Ad esempio, utilizziamo
data-bs-toggle
invece didata-toggle
. -
Tutti i plugin ora possono accettare un selettore CSS come primo argomento. Puoi passare un elemento DOM o qualsiasi selettore CSS valido per creare una nuova istanza del plugin:
const modal = new bootstrap.Modal('#myModal') const dropdown = new bootstrap.Dropdown('[data-bs-toggle="dropdown"]')
-
popperConfig
può essere passato come una funzione che accetta la configurazione Popper predefinita di Bootstrap come argomento, in modo da poter unire questa configurazione predefinita a modo tuo. Si applica a menu a discesa, popover e suggerimenti. -
Il valore predefinito per
fallbackPlacements
viene modificato in['top', 'right', 'bottom', 'left']
per un migliore posizionamento degli elementi Popper. Si applica a menu a discesa, popover e suggerimenti. -
Rimosso il trattino basso dai metodi statici pubblici come
_getInstance()
→getInstance()
.