Migreren naar v5
Volg en bekijk de wijzigingen in de Bootstrap-bronbestanden, documentatie en componenten om je te helpen migreren van v4 naar v5.
v5.2.0
Vernieuwd ontwerp
Bootstrap v5.2.0 bevat een subtiele ontwerpupdate voor een handvol componenten en eigenschappen in het hele project, het meest opvallend via verfijnde border-radius-waarden op knoppen en formulierbesturingselementen. Ook onze documentatie is bijgewerkt met een nieuwe homepage, een eenvoudiger docs-layout waarin secties van de zijbalk niet meer inklappen, en prominentere voorbeelden van Bootstrap Icons.
Meer CSS-variabelen
We hebben al onze componenten bijgewerkt zodat ze CSS-variabelen gebruiken. Sass ligt nog steeds aan alles ten grondslag, maar elk component is bijgewerkt met CSS-variabelen op de basisklassen van het component (bijv. .btn), waardoor Bootstrap beter in realtime aan te passen is. In volgende releases breiden we het gebruik van CSS-variabelen verder uit naar onze layout, formulieren, helpers en utilities. Lees op de betreffende documentatiepagina's meer over CSS-variabelen per component.
Ons gebruik van CSS-variabelen blijft tot Bootstrap 6 enigszins onvolledig. Hoewel we ze het liefst overal volledig zouden doorvoeren, brengen ze het risico van breaking changes met zich mee. Zou we bijvoorbeeld $alert-border-width: var(--bs-border-width) in onze broncode zetten, dan breekt dat mogelijk Sass in je eigen code als je om wat voor reden dan ook $alert-border-width * 2 gebruikte.
Daarom blijven we waar mogelijk richting meer CSS-variabelen werken, maar houd er rekening mee dat onze implementatie in v5 mogelijk wat beperkt is.
Nieuwe _maps.scss
Bootstrap v5.2.0 introduceerde met _maps.scss een nieuw Sass-bestand. Het haalt een aantal Sass-maps uit _variables.scss om een probleem op te lossen waarbij updates aan een oorspronkelijke map niet werden toegepast op secundaire maps die daarop voortbouwen. Zo werden updates aan $theme-colors niet toegepast op andere themamaps die op $theme-colors leunden, waardoor belangrijke aanpassingsworkflows braken. Kort gezegd heeft Sass de beperking dat een standaardvariabele of -map, zodra die is gebruikt, niet meer bijgewerkt kan worden. Bij CSS-variabelen bestaat een vergelijkbare beperking wanneer ze gebruikt worden om andere CSS-variabelen samen te stellen.
Daarom moeten variabele-aanpassingen in Bootstrap ná @import "functions" komen, maar vóór @import "variables" en de rest van onze importstack. Hetzelfde geldt voor Sass-maps — je moet de standaardwaarden overschrijven voordat ze gebruikt worden. De volgende maps zijn naar de nieuwe _maps.scss verhuisd:
$theme-colors-rgb$utilities-colors$utilities-text$utilities-text-colors$utilities-bg$utilities-bg-colors$negative-spacers$gutters
Je eigen Bootstrap-CSS-builds horen er nu ongeveer zo uit te zien, met een aparte maps-import.
// 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";
// etcNieuwe utilities
font-weight-utilities uitgebreid met.fw-semiboldvoor halfvette lettertypen.border-radius-utilities uitgebreid met twee nieuwe formaten,.rounded-4en.rounded-5, voor meer keuze.
Aanvullende wijzigingen
-
Nieuwe optie
$enable-container-classesgeïntroduceerd. — Wanneer je nu voor de experimentele CSS Grid-layout kiest, worden.container-*-klassen alsnog gecompileerd, tenzij deze optie opfalsestaat. Containers behouden nu ook hun gutter-waarden. -
Het offcanvas-component heeft nu responsieve varianten. De oorspronkelijke klasse
.offcanvasblijft ongewijzigd — die verbergt content op alle viewports. Om hem responsief te maken, verander je die.offcanvas-klasse in een.offcanvas-{sm|md|lg|xl|xxl}-klasse. -
Dikkere tabelscheidingen zijn nu opt-in. — We hebben de dikkere en lastiger te overschrijven rand tussen tabelgroepen verwijderd en verplaatst naar een optionele klasse die je kunt toepassen:
.table-group-divider. Zie de tabeldocumentatie voor een voorbeeld. -
Scrollspy is herschreven en gebruikt nu de Intersection Observer API, wat betekent dat je geen relatieve bovenliggende wrappers meer nodig hebt, dat de
offset-configuratie verouderd is, en meer. Verwacht dat je Scrollspy-implementaties nauwkeuriger en consistenter zijn in het uitlichten van de navigatie. -
Popovers en tooltips gebruiken nu CSS-variabelen. Sommige CSS-variabelen zijn ten opzichte van hun Sass-tegenhangers bijgewerkt om het aantal variabelen te beperken. Daardoor zijn er in deze release drie variabelen verouderd:
$popover-arrow-color,$popover-arrow-outer-coloren$tooltip-arrow-color. -
Nieuwe
.text-bg-{color}-helpers toegevoegd. In plaats van losse.text-*- en.bg-*-utilities in te stellen, kun je nu de.text-bg-*-helpers gebruiken om eenbackground-colormet een contrasterende voorgrond-colorin te stellen. -
Modifier
.form-check-reversetoegevoegd om de volgorde van labels en bijbehorende selectievakjes/radioknoppen om te draaien. -
Ondersteuning voor gestreepte kolommen toegevoegd aan tabellen via de nieuwe klasse
.table-striped-columns.
Voor een volledige lijst met wijzigingen, zie het v5.2.0-project op GitHub.
v5.1.0
-
Experimentele ondersteuning voor CSS Grid-layout toegevoegd. — Dit is werk in uitvoering en nog niet klaar voor productie, maar je kunt de nieuwe functionaliteit via Sass inschakelen. Zet daarvoor het standaardgrid uit met
$enable-grid-classes: falseen schakel CSS Grid in met$enable-cssgrid: true. -
Navbars bijgewerkt met ondersteuning voor offcanvas. — Voeg offcanvas-lades toe aan elke navbar met de responsieve
.navbar-expand-*-klassen en wat offcanvas-markup. -
Nieuw placeholder-component toegevoegd. — Ons nieuwste component: een manier om tijdelijke blokken te tonen in plaats van echte content, om aan te geven dat er nog iets laadt in je site of app.
-
De collapse-plugin ondersteunt nu horizontaal inklappen. — Voeg
.collapse-horizontaltoe aan je.collapseom dewidthin plaats van deheightin te klappen. Voorkom hertekenen door de browser door eenmin-heightofheightin te stellen. -
Nieuwe stack- en vertical rule-helpers toegevoegd. — Pas snel meerdere flexbox-eigenschappen toe om met stacks eigen layouts te maken. Kies uit horizontale (
.hstack) en verticale (.vstack) stacks. Voeg verticale scheidingen toe die op<hr>-elementen lijken met de nieuwe.vr-helpers. -
Nieuwe globale
:root-CSS-variabelen toegevoegd. — Er zijn diverse nieuwe CSS-variabelen op:root-niveau toegevoegd om<body>-stijlen te sturen. Er zijn er meer in de maak, ook in onze utilities en componenten, maar lees voor nu over CSS-variabelen in de sectie Aanpassen. -
Kleur- en achtergrond-utilities herzien zodat ze CSS-variabelen gebruiken, plus nieuwe utilities voor tekstdekking en achtergronddekking. —
.text-*- en.bg-*-utilities zijn nu gebouwd met CSS-variabelen enrgba()-kleurwaarden, waardoor je elke utility eenvoudig kunt aanpassen met nieuwe opacity-utilities. -
Nieuwe snippet-voorbeelden toegevoegd om te laten zien hoe je onze componenten aanpast. — Haal kant-en-klare aangepaste componenten en andere gangbare ontwerppatronen op met onze nieuwe snippet-voorbeelden. Inclusief footers, dropdowns, list groups en modals.
-
Ongebruikte positioneringsstijlen uit popovers en tooltips verwijderd, omdat die volledig door Popper worden afgehandeld.
$tooltip-marginis daarbij verouderd en opnullgezet.
Meer informatie? Lees de blogpost over v5.1.0.
Hallo daar! De wijzigingen in onze eerste hoofdrelease van Bootstrap 5, v5.0.0, staan hieronder gedocumenteerd. Ze bevatten niet de aanvullende wijzigingen die hierboven staan.
Afhankelijkheden
- jQuery losgelaten.
- Geüpgraded van Popper v1.x naar Popper v2.x.
- Libsass vervangen door Dart Sass als onze Sass-compiler, omdat Libsass verouderd was.
- Voor het bouwen van onze documentatie gemigreerd van Jekyll naar Hugo.
Browserondersteuning
- Internet Explorer 10 en 11 laten vallen
- Microsoft Edge < 16 (Legacy Edge) laten vallen
- Firefox < 60 laten vallen
- Safari < 12 laten vallen
- iOS Safari < 12 laten vallen
- Chrome < 60 laten vallen
Wijzigingen in de documentatie
- Homepage, docs-layout en footer opnieuw ontworpen.
- Nieuwe Parcel-gids toegevoegd.
- Nieuwe sectie Aanpassen toegevoegd, die de Theming-pagina van v4 vervangt, met nieuwe details over Sass, globale configuratieopties, kleurschema's, CSS-variabelen en meer.
- Alle formulierdocumentatie gereorganiseerd tot de nieuwe sectie Formulieren, waarbij de content is opgesplitst in meer gerichte pagina's.
- Op vergelijkbare wijze is de sectie Layout bijgewerkt om de grid-content duidelijker uit te werken.
- Componentpagina "Navs" hernoemd naar "Navs & Tabs".
- Pagina "Checks" hernoemd naar "Checks & radios".
- De navbar opnieuw ontworpen en een nieuwe subnav toegevoegd om makkelijker door onze sites en docsversies te navigeren.
- Nieuwe sneltoets voor het zoekveld toegevoegd: Ctrl + /.
Sass
-
We hebben de standaard Sass-map-merges losgelaten om het makkelijker te maken overbodige waarden te verwijderen. Houd er rekening mee dat je nu alle waarden in Sass-maps zoals
$theme-colorsmoet definiëren. Bekijk hoe je met Sass-maps omgaat. -
Breaking De functie
color-yiq()en bijbehorende variabelen zijn hernoemd naarcolor-contrast(), omdat die niet langer met de YIQ-kleurruimte te maken heeft. Zie #30168.$yiq-contrasted-thresholdheet nu$min-contrast-ratio.$yiq-text-darken$yiq-text-lightheten nu respectievelijk$color-contrast-darken$color-contrast-light.
-
Breaking De parameters van de media query-mixins zijn gewijzigd voor een logischere aanpak.
media-breakpoint-down()gebruikt het breakpoint zelf in plaats van het volgende breakpoint (bijv.media-breakpoint-down(lg)in plaats vanmedia-breakpoint-down(md)richt zich op viewports smaller danlg).- Op vergelijkbare wijze gebruikt ook de tweede parameter in
media-breakpoint-between()het breakpoint zelf in plaats van het volgende breakpoint (bijv.media-between(sm, lg)in plaats vanmedia-breakpoint-between(sm, md)richt zich op viewports tussensmenlg).
-
Breaking Printstijlen en de variabele
$enable-print-stylesverwijderd. De print-display-klassen bestaan nog wel. Zie #28339. -
Breaking De functies
color(),theme-color()engray()laten vallen ten gunste van variabelen. Zie #29083. -
Breaking De functie
theme-color-level()heet nucolor-level()en accepteert nu elke gewenste kleur in plaats van alleen$theme-color-kleuren. Zie #29083 Let op:color-level()is later inv5.0.0-alpha3alsnog vervallen. -
Breaking
$enable-prefers-reduced-motion-media-queryen$enable-pointer-cursor-for-buttonshernoemd naar$enable-reduced-motionen$enable-button-pointersvoor de beknoptheid. -
Breaking De mixin
bg-gradient-variant()verwijderd. Gebruik de klasse.bg-gradientom gradiënten aan elementen toe te voegen, in plaats van de gegenereerde.bg-gradient-*-klassen. -
Breaking Eerder verouderde mixins verwijderd:
hover,hover-focus,plain-hover-focusenhover-focus-activefloat()form-control-mixin()nav-divider()retina-img()text-hide()(ook de bijbehorende utility-klasse.text-hideis vervallen)visibility()form-control-focus()
-
Breaking De functie
scale-color()hernoemd naarshift-color()om botsing met Sass' eigen kleurschalingsfunctie te voorkomen. -
box-shadow-mixins accepteren nunull-waarden en latennonebij meerdere argumenten vallen. Zie #30394. -
De mixin
border-radius()heeft nu een standaardwaarde.
Kleursysteem
-
Het kleursysteem dat met
color-level()en$theme-color-intervalwerkte, is vervangen door een nieuw kleursysteem. Allelighten()- endarken()-functies in onze codebase zijn vervangen doortint-color()enshade-color(). Deze functies mengen de kleur met wit of zwart in plaats van de lichtheid met een vast bedrag te wijzigen.shift-color()maakt een kleur lichter of donkerder, afhankelijk van of de gewichtsparameter positief of negatief is. Zie #30622 voor meer details. -
Nieuwe tinten en schaduwen voor elke kleur toegevoegd, met negen aparte kleuren per basiskleur, als nieuwe Sass-variabelen.
-
Kleurcontrast verbeterd. De contrastverhouding is van 3:1 naar 4.5:1 verhoogd en de kleuren blauw, groen, cyaan en roze zijn bijgewerkt om aan WCAG 2.1 AA-contrast te voldoen. Ook is onze kleurcontrastkleur van
$gray-900naar$blackgewijzigd. -
Ter ondersteuning van ons kleursysteem hebben we nieuwe eigen functies
tint-color()enshade-color()toegevoegd om onze kleuren goed te mengen.
Grid-updates
-
Nieuw breakpoint! Nieuw
xxl-breakpoint toegevoegd voor1400pxen breder. Aan alle andere breakpoints is niets gewijzigd. -
Verbeterde gutters. Gutters worden nu in rems ingesteld en zijn smaller dan in v4 (
1.5rem, oftewel ongeveer24px, in plaats van30px). Daarmee sluiten de gutters van ons grid-systeem aan op onze spacing-utilities.- Nieuwe gutter-klasse toegevoegd (
.g-*,.gx-*en.gy-*) om horizontale/verticale gutters, horizontale gutters en verticale gutters te sturen. - Breaking
.no-guttershernoemd naar.g-0om aan te sluiten op de nieuwe gutter-utilities.
- Nieuwe gutter-klasse toegevoegd (
-
Kolommen krijgen niet langer
position: relative, dus je moet mogelijk.position-relativeaan sommige elementen toevoegen om dat gedrag terug te krijgen. -
Breaking Diverse
.order-*-klassen die vaak ongebruikt bleven, zijn vervallen. We leveren nu standaard alleen.order-1tot en met.order-5. -
Breaking Het
.media-component laten vallen, omdat het eenvoudig met utilities na te bootsen is. Zie #28265 en de flex-utilities-pagina voor een voorbeeld. -
Breaking
bootstrap-grid.csspastbox-sizing: border-boxnu alleen op de kolom toe, in plaats van de globale box-sizing te resetten. Zo kunnen onze grid-stijlen op meer plekken worden gebruikt zonder interferentie. -
$enable-grid-classesschakelt het genereren van containerklassen niet meer uit. Zie #29146. -
De mixin
make-colgebruikt nu standaard gelijke kolommen wanneer er geen formaat is opgegeven.
Content, Reboot enzovoort
-
RFS staat nu standaard aan. Koppen die de mixin
font-size()gebruiken, passen hunfont-sizeautomatisch aan zodat die met de viewport meeschaalt. In v4 was dit nog opt-in. -
Breaking Onze display-typografie herzien: de
$display-*-variabelen zijn vervangen door een Sass-map$display-font-sizes. Ook zijn de individuele$display-*-weight-variabelen vervangen door één$display-font-weighten zijn defont-sizes aangepast. -
Twee nieuwe
.display-*-kopformaten toegevoegd:.display-5en.display-6. -
Links zijn standaard onderstreept (niet alleen bij hover), tenzij ze deel uitmaken van specifieke componenten.
-
Tabellen opnieuw ontworpen om hun stijlen op te frissen en ze met CSS-variabelen te herbouwen, voor meer controle over de styling.
-
Breaking Geneste tabellen erven geen stijlen meer.
-
Breaking
.thead-lighten.thead-darkzijn vervallen ten gunste van de.table-*-variantklassen, die voor alle tabelelementen gebruikt kunnen worden (thead,tbody,tfoot,tr,thentd). -
Breaking De mixin
table-row-variant()heet nutable-variant()en accepteert nog maar 2 parameters:$color(kleurnaam) en$value(kleurcode). De randkleur en accentkleuren worden automatisch berekend op basis van de tabel-factorvariabelen. -
Variabelen voor cel-padding in tabellen opgesplitst in
-yen-x. -
Breaking De klasse
.pre-scrollablelaten vallen. Zie #29135 -
Breaking
.text-*-utilities voegen geen hover- en focus-states meer toe aan links. In plaats daarvan kun je de.link-*-hulpklassen gebruiken. Zie #29267 -
Breaking De klasse
.text-justifylaten vallen. Zie #29793 -
Breaking
<hr>-elementen gebruiken nuheightin plaats vanborderom hetsize-attribuut beter te ondersteunen. Daardoor kun je ook padding-utilities gebruiken om dikkere scheidingen te maken (bijv.<hr class="py-1">). -
De standaard horizontale
padding-leftop<ul>- en<ol>-elementen teruggezet van de browserstandaard40pxnaar2rem. -
$enable-smooth-scrolltoegevoegd, datscroll-behavior: smoothglobaal toepast — behalve voor gebruikers die via de media queryprefers-reduced-motionom minder beweging vragen. Zie #31877
RTL
- Variabelen, utilities en mixins die specifiek met de horizontale richting te maken hebben, zijn hernoemd zodat ze logische eigenschappen gebruiken zoals in flexbox-layouts — bijv.
startenendin plaats vanleftenright.
Formulieren
-
Nieuwe floating forms toegevoegd! We hebben het voorbeeld met floating labels gepromoveerd tot volledig ondersteunde formuliercomponenten. Zie de nieuwe pagina Floating labels.
-
Breaking Native en eigen formulierelementen samengevoegd. Selectievakjes, radioknoppen, selects en andere inputs die in v4 zowel native als eigen klassen hadden, zijn samengevoegd. Vrijwel al onze formulierelementen zijn nu volledig eigen, en de meeste zonder dat er eigen HTML nodig is.
.custom-control.custom-checkboxis nu.form-check..custom-control.custom-custom-radiois nu.form-check..custom-control.custom-switchis nu.form-check.form-switch..custom-selectis nu.form-select..custom-fileen.form-filezijn vervangen door eigen stijlen boven op.form-control..custom-rangeis nu.form-range.- De native
.form-control-fileen.form-control-rangezijn vervallen.
-
Breaking
.input-group-appenden.input-group-prependlaten vallen. Je kunt knoppen en.input-group-textnu gewoon als directe kinderen van de input groups toevoegen. -
De langlopende bug ontbrekende border-radius bij input group met validatiefeedback is eindelijk opgelost door een extra klasse
.has-validationaan input groups met validatie toe te voegen. -
Breaking Formulierspecifieke layoutklassen laten vallen ten gunste van ons grid-systeem. Gebruik ons grid en onze utilities in plaats van
.form-group,.form-rowof.form-inline. -
Breaking Formulierlabels vereisen nu
.form-label. -
Breaking
.form-textstelt geendisplaymeer in, waardoor je naar wens inline of block-helptekst kunt maken door simpelweg het HTML-element te wijzigen. -
Formulierbesturingselementen gebruiken waar mogelijk geen vaste
heightmeer, maarmin-height, voor betere aanpasbaarheid en compatibiliteit met andere componenten. -
Validatie-iconen worden niet meer toegepast op
<select>s metmultiple. -
Sass-bronbestanden opnieuw ingedeeld onder
scss/forms/, inclusief de stijlen voor input groups.
Componenten
padding-waarden voor alerts, breadcrumbs, cards, dropdowns, list groups, modals, popovers en tooltips gelijkgetrokken op basis van onze variabele$spacer. Zie #30564.
Accordion
- Nieuw accordion-component toegevoegd.
Alerts
-
Alerts hebben nu voorbeelden met iconen.
-
Eigen stijlen voor
<hr>s in elke alert verwijderd, omdat die alcurrentColorgebruiken.
Badges
-
Breaking Alle
.badge-*-kleurklassen laten vallen ten gunste van achtergrond-utilities (gebruik bijv..bg-primaryin plaats van.badge-primary). -
Breaking
.badge-pilllaten vallen — gebruik in plaats daarvan de utility.rounded-pill. -
Breaking Hover- en focus-stijlen voor
<a>- en<button>-elementen verwijderd. -
Standaardpadding voor badges verhoogd van
.25em/.5emnaar.35em/.65em.
Breadcrumbs
-
Het standaarduiterlijk van breadcrumbs vereenvoudigd door
padding,background-colorenborder-radiuste verwijderen. -
Nieuwe CSS custom property
--bs-breadcrumb-dividertoegevoegd om eenvoudig aan te passen zonder CSS te hoeven hercompileren.
Buttons
-
Breaking Toggle-knoppen, met selectievakjes of radioknoppen, hebben geen JavaScript meer nodig en hebben nieuwe markup. Er is geen omhullend element meer nodig; voeg
.btn-checktoe aan de<input>en combineer die met.btn-klassen op het<label>. Zie #30650. De documentatie hiervoor is van onze Buttons-pagina naar de nieuwe sectie Formulieren verhuisd. -
Breaking
.btn-blocklaten vallen ten gunste van utilities. In plaats van.btn-blockop de.btnte gebruiken, wikkel je je knoppen in.d-gridmet een.gap-*-utility om ze naar wens te spatiëren. Schakel over op responsieve klassen voor nog meer controle. Lees de documentatie voor een paar voorbeelden. -
Onze mixins
button-variant()enbutton-outline-variant()bijgewerkt zodat ze extra parameters ondersteunen. -
Knoppen bijgewerkt voor meer contrast in hover- en active-states.
-
Uitgeschakelde knoppen hebben nu
pointer-events: none;.
Card
-
Breaking
.card-decklaten vallen ten gunste van ons grid. Wikkel je cards in kolomklassen en voeg een bovenliggende.row-cols-*-container toe om card decks na te bootsen (maar met meer controle over responsieve uitlijning). -
Breaking
.card-columnslaten vallen ten gunste van Masonry. Zie #28922. -
Breaking De op
.cardgebaseerde accordion vervangen door een nieuw accordion-component.
Carousel
-
Nieuwe
.carousel-dark-variant toegevoegd voor donkere tekst, bedieningselementen en indicatoren (ideaal voor lichtere achtergronden). -
Chevron-iconen voor carousel-bedieningselementen vervangen door nieuwe SVG's uit Bootstrap Icons.
Close button
-
Breaking
.closehernoemd naar.btn-closevoor een minder generieke naam. -
Sluitknoppen gebruiken nu een
background-image(ingesloten SVG) in plaats van een×in de HTML, waardoor aanpassen eenvoudiger is zonder je markup aan te raken. -
Nieuwe variant
.btn-close-whitetoegevoegd diefilter: invert(1)gebruikt voor sluiticonen met meer contrast op donkere achtergronden.
Collapse
- Scroll-anchoring voor accordions verwijderd.
Dropdowns
-
Nieuwe variant
.dropdown-menu-darken bijbehorende variabelen toegevoegd voor donkere dropdowns op aanvraag. -
Nieuwe variabele voor
$dropdown-padding-xtoegevoegd. -
De dropdown-scheidingslijn donkerder gemaakt voor beter contrast.
-
Breaking Alle gebeurtenissen voor de dropdown worden nu op de dropdown-toggle-knop afgevuurd en bubbelen daarna omhoog naar het bovenliggende element.
-
Dropdownmenu's krijgen nu het attribuut
data-bs-popper="static"wanneer de positionering van de dropdown statisch is, of wanneer de dropdown in de navbar zit. Dat wordt door onze JavaScript toegevoegd en helpt ons eigen positioneringsstijlen te gebruiken zonder de positionering van Popper te verstoren. -
Breaking De optie
flipvoor de dropdown-plugin laten vallen ten gunste van de native Popper-configuratie. Je kunt het flip-gedrag nu uitschakelen door een lege array mee te geven aan de optiefallbackPlacementsin de flip-modifier. -
Dropdownmenu's kunnen nu aanklikbaar zijn met een nieuwe optie
autoCloseom het gedrag bij automatisch sluiten te bepalen. Met deze optie kun je klikken binnen of buiten het dropdownmenu toestaan om het interactief te maken. -
Dropdowns ondersteunen nu
.dropdown-items die in<li>s gewikkeld zijn.
Jumbotron
- Breaking Het jumbotron-component laten vallen, omdat het met utilities na te bootsen is. Zie ons nieuwe Jumbotron-voorbeeld voor een demo.
List group
- Nieuwe
.list-group-numbered-modifier toegevoegd aan list groups.
Navs en tabs
- Nieuwe
null-variabelen voorfont-size,font-weight,coloren:hover-colortoegevoegd aan de klasse.nav-link.
Navbars
- Breaking Navbars vereisen nu een container erin (om de vereisten voor tussenruimte en de benodigde CSS drastisch te vereenvoudigen).
- Breaking De klasse
.activekan niet langer op.nav-items worden toegepast; die moet direct op.nav-links staan.
Offcanvas
- Het nieuwe offcanvas-component toegevoegd.
Pagination
-
Pagineringslinks hebben nu een aanpasbare
margin-left, en worden dynamisch aan alle hoeken afgerond wanneer ze van elkaar gescheiden zijn. -
transitions toegevoegd aan pagineringslinks.
Popovers
-
Breaking
.arrowhernoemd naar.popover-arrowin onze standaard popover-template. -
Optie
whiteListhernoemd naarallowList.
Spinners
-
Spinners houden nu rekening met
prefers-reduced-motion: reducedoor animaties te vertragen. Zie #31882. -
Verticale uitlijning van spinners verbeterd.
Toasts
-
Toasts kunnen nu met behulp van position-utilities in een
.toast-containerworden gepositioneerd. -
Standaardduur van toasts gewijzigd naar 5 seconden.
-
overflow: hiddenuit toasts verwijderd en vervangen door correcteborder-radius-waarden metcalc()-functies.
Tooltips
-
Breaking
.arrowhernoemd naar.tooltip-arrowin onze standaard tooltip-template. -
Breaking De standaardwaarde voor
fallbackPlacementsis gewijzigd in['top', 'right', 'bottom', 'left']voor een betere plaatsing van popper-elementen. -
Breaking Optie
whiteListhernoemd naarallowList.
Utilities
-
Breaking Diverse utilities hernoemd zodat ze namen van logische eigenschappen gebruiken in plaats van richtingsnamen, met daarbij ondersteuning voor RTL:
.left-*en.right-*hernoemd naar.start-*en.end-*..float-leften.float-righthernoemd naar.float-starten.float-end..border-leften.border-righthernoemd naar.border-starten.border-end..rounded-leften.rounded-righthernoemd naar.rounded-starten.rounded-end..ml-*en.mr-*hernoemd naar.ms-*en.me-*..pl-*en.pr-*hernoemd naar.ps-*en.pe-*..text-leften.text-righthernoemd naar.text-starten.text-end.
-
Breaking Negatieve marges standaard uitgeschakeld.
-
Nieuwe klasse
.bg-bodytoegevoegd om de achtergrond van de<body>snel op extra elementen toe te passen. -
Nieuwe position-utilities toegevoegd voor
top,right,bottomenleft. De waarden zijn per eigenschap0,50%en100%. -
Nieuwe utilities
.translate-middle-xen.translate-middle-ytoegevoegd om absoluut/fixed gepositioneerde elementen horizontaal of verticaal te centreren. -
Nieuwe
border-width-utilities toegevoegd. -
Breaking
.text-monospacehernoemd naar.font-monospace. -
Breaking
.text-hideverwijderd, omdat het een verouderde methode is om tekst te verbergen die niet meer gebruikt zou moeten worden. -
.fs-*-utilities toegevoegd voorfont-size(met RFS ingeschakeld). Ze gebruiken dezelfde schaal als de standaardkoppen van HTML (1-6, groot naar klein) en zijn via een Sass-map aan te passen. -
Breaking
.font-weight-*-utilities hernoemd naar.fw-*voor beknoptheid en consistentie. -
Breaking
.font-style-*-utilities hernoemd naar.fst-*voor beknoptheid en consistentie. -
.d-gridtoegevoegd aan de display-utilities, plus nieuwegap-utilities (.gap) voor CSS Grid- en flexbox-layouts. -
Breaking
.rounded-smenrounded-lgverwijderd en een nieuwe schaal klassen geïntroduceerd:.rounded-0tot en met.rounded-3. Zie #31687. -
Nieuwe
line-height-utilities toegevoegd:.lh-1,.lh-sm,.lh-baseen.lh-lg. Zie hier. -
De
.d-none-utility in onze CSS verplaatst zodat die meer gewicht krijgt dan andere display-utilities. -
De helper
.visually-hidden-focusableuitgebreid zodat die ook op containers werkt, via:focus-within.
Helpers
-
Breaking Responsive embed-helpers zijn hernoemd naar ratio-helpers, met nieuwe klassenamen, verbeterd gedrag en een handige CSS-variabele.
- In de klassenamen is
byin de beeldverhouding vervangen doorx. Zo heet.ratio-16by9nu.ratio-16x9. - We hebben
.embed-responsive-itemen de element-groepselector laten vallen ten gunste van een eenvoudiger.ratio > *-selector. Er is geen klasse meer nodig, en de ratio-helper werkt nu met elk HTML-element. - De Sass-map
$embed-responsive-aspect-ratiosheet nu$aspect-ratiosen de waarden zijn vereenvoudigd tot de klassenaam en het percentage alskey: value-paar. - Er worden nu CSS-variabelen gegenereerd en opgenomen voor elke waarde in de Sass-map. Pas de variabele
--bs-aspect-ratioop de.ratioaan om een aangepaste beeldverhouding te maken.
- In de klassenamen is
-
Breaking "Screen reader"-klassen zijn nu "visually hidden"-klassen.
- Het Sass-bestand is gewijzigd van
scss/helpers/_screenreaders.scssnaarscss/helpers/_visually-hidden.scss .sr-onlyen.sr-only-focusablehernoemd naar.visually-hiddenen.visually-hidden-focusable- De mixins
sr-only()ensr-only-focusable()hernoemd naarvisually-hidden()envisually-hidden-focusable().
- Het Sass-bestand is gewijzigd van
-
bootstrap-utilities.cssbevat nu ook onze helpers. Helpers hoeven in eigen builds niet meer apart geïmporteerd te worden.
JavaScript
-
jQuery-afhankelijkheid laten vallen en plugins herschreven in gewone JavaScript.
-
Breaking Data-attributen voor alle JavaScript-plugins hebben nu een eigen namespace, om Bootstrap-functionaliteit te onderscheiden van die van derden en van je eigen code. Zo gebruiken we
data-bs-togglein plaats vandata-toggle. -
Alle plugins accepteren nu een CSS-selector als eerste argument. Je kunt een DOM-element of een geldige CSS-selector meegeven om een nieuwe instantie van de plugin te maken:
JSconst modal = new bootstrap.Modal('#myModal') const dropdown = new bootstrap.Dropdown('[data-bs-toggle="dropdown"]') -
popperConfigkan worden meegegeven als functie die de standaard Popper-configuratie van Bootstrap als argument accepteert, zodat je die standaardconfiguratie op je eigen manier kunt samenvoegen. Geldt voor dropdowns, popovers en tooltips. -
De standaardwaarde voor
fallbackPlacementsis gewijzigd in['top', 'right', 'bottom', 'left']voor een betere plaatsing van Popper-elementen. Geldt voor dropdowns, popovers en tooltips. -
Underscore verwijderd uit publieke statische methodes, zoals
_getInstance()→getInstance().