Migrerer til v5
Spor og gennemse ændringer af Bootstrap-kildefilerne, dokumentationen og komponenterne for at hjælpe dig med at migrere fra v4 til v5.
Afhængigheder
- Droppede jQuery.
- Opgraderet fra Popper v1.x til Popper v2.x.
- Udskiftede Libsass med Dart Sass, da vores Sass-kompiler givet Libsass blev forældet.
- Migrerede fra Jekyll til Hugo for at bygge vores dokumentation
Browser support
- Droppede Internet Explorer 10 og 11
- Droppet Microsoft Edge < 16 (Legacy Edge)
- Droppede Firefox < 60
- Droppet Safari < 12
- Droppede iOS Safari < 12
- Droppet Chrome < 60
Dokumentationsændringer
- Redesignet hjemmeside, dokumentlayout og sidefod.
- Tilføjet ny pakkeguide .
- Tilføjet ny Tilpas sektion , der erstatter v4's temaside , med nye detaljer om Sass, globale konfigurationsmuligheder, farveskemaer, CSS-variabler og mere.
- Omorganiserede al formulardokumentation til den nye formularsektion , hvorved indholdet blev opdelt i mere fokuserede sider.
- Tilsvarende opdaterede Layout-sektionen for at udfylde gitterindholdet mere tydeligt.
- Omdøbt "Navs"-komponentsiden til "Navs & Tabs".
- Omdøbt "Checks"-siden til "Checks & radios".
- Omdesignet navbaren og tilføjet en ny undernavigering for at gøre det nemmere at komme rundt på vores websteder og docs-versioner.
- Tilføjet ny tastaturgenvej til søgefeltet: Ctrl + /.
Sass
-
Vi har droppet standard Sass-kortsammenlægninger for at gøre det nemmere at fjerne overflødige værdier. Husk, at du nu skal definere alle værdier i Sass-kortene som
$theme-colors
. Se, hvordan du håndterer Sass-kort . -
Bryder Omdøbt
color-yiq()
funktion og relaterede variabler tilcolor-contrast()
, da den ikke længere er relateret til YIQ-farverum. Se #30168.$yiq-contrasted-threshold
er omdøbt til$min-contrast-ratio
.$yiq-text-dark
og$yiq-text-light
er henholdsvis omdøbt til$color-contrast-dark
og$color-contrast-light
.
-
Breaking Media-forespørgselsmix-parametre er ændret for en mere logisk tilgang.
media-breakpoint-down()
bruger selve brudpunktet i stedet for det næste brudpunkt (f.eks. imedia-breakpoint-down(lg)
stedet formedia-breakpoint-down(md)
målvisninger, der er mindre endlg
).- På samme måde bruger den anden parameter i
media-breakpoint-between()
også selve brudpunktet i stedet for det næste brudpunkt (f.eks. imedia-between(sm, lg)
stedet formedia-breakpoint-between(sm, md)
målvisningsporte mellemsm
oglg
).
-
Breaking Fjernede udskriftsstile og
$enable-print-styles
variabel. Trykvisningsklasser findes stadig. Se #28339 . -
Breaking Dropped
color()
,theme-color()
, oggray()
fungerer til fordel for variabler. Se #29083 . -
Bryder Omdøbt
theme-color-level()
funktion tilcolor-level()
og accepterer nu enhver farve, du ønsker i stedet for kun$theme-color
farver. Se #29083 Pas på:color-level()
blev senere droppet indv5.0.0-alpha3
. -
Breaking Omdøbt
$enable-prefers-reduced-motion-media-query
og$enable-pointer-cursor-for-buttons
til$enable-reduced-motion
og$enable-button-pointers
for korthed. -
Breaking Fjernede
bg-gradient-variant()
mixin. Brug.bg-gradient
klassen til at tilføje gradienter til elementer i stedet for de genererede.bg-gradient-*
klasser. -
Breaking Fjernede tidligere forældede blandinger:
hover
,hover-focus
,plain-hover-focus
, oghover-focus-active
float()
form-control-mixin()
nav-divider()
retina-img()
text-hide()
(også droppet den tilknyttede hjælpeklasse,.text-hide
)visibility()
form-control-focus()
-
Bryder Omdøbt
scale-color()
funktion tilshift-color()
for at undgå kollision med Sass egen farveskaleringsfunktion. -
box-shadow
mixins tillader nunull
værdier og faldnone
fra flere argumenter. Se #30394 . -
Blandingen
border-radius()
har nu en standardværdi.
Farvesystem
-
Farvesystemet som fungerede med
color-level()
og$theme-color-interval
blev fjernet til fordel for et nyt farvesystem. Allelighten()
ogdarken()
funktioner i vores kodebase erstattes aftint-color()
ogshade-color()
. Disse funktioner vil blande farven med enten hvid eller sort i stedet for at ændre dens lyshed med en fast mængde. Denshift-color()
vil enten tone eller skygge en farve afhængigt af om dens vægtparameter er positiv eller negativ. Se #30622 for flere detaljer. -
Tilføjet nye nuancer og nuancer for hver farve, hvilket giver ni separate farver for hver basisfarve, som nye Sass-variabler.
-
Forbedret farvekontrast. Bumpet farvekontrastforhold fra 3:1 til 4,5:1 og opdaterede blå, grøn, cyan og pink farver for at sikre WCAG 2.1 AA kontrast. Ændrede også vores farvekontrastfarve fra
$gray-900
til$black
. -
For at understøtte vores farvesystem har vi tilføjet nye brugerdefinerede
tint-color()
ogshade-color()
funktioner til at blande vores farver passende.
Gitteropdateringer
-
Nyt breakpoint! Tilføjet nyt
xxl
breakpoint for1400px
og op. Ingen ændringer til alle andre brudpunkter. -
Forbedrede tagrender. Tagrender er nu sat i rems, og er smallere end v4 (
1.5rem
, eller ca24px
, ned fra30px
). Dette justerer vores netsystems tagrender med vores afstandsværktøjer.- Tilføjet ny tagrendeklasse (
.g-*
,.gx-*
, og.gy-*
) for at kontrollere vandrette/lodrette tagrender, vandrette tagrender og vertikale tagrender. - Breaking Omdøbt
.no-gutters
til.g-0
for at matche nye tagrender.
- Tilføjet ny tagrendeklasse (
-
Kolonner er ikke længere
position: relative
anvendt, så du skal muligvis tilføje.position-relative
nogle elementer for at gendanne denne adfærd. -
Breaking Droppede flere
.order-*
klasser, der ofte gik ubrugte. Vi leverer nu kun.order-1
til.order-5
out of the box. -
Breaking Droppede
.media
komponenten, da den let kan replikeres med hjælpeprogrammer. Se #28265 og siden med flex-værktøjer for et eksempel . -
Brydning
bootstrap-grid.css
gælder nu kunbox-sizing: border-box
for kolonnen i stedet for at nulstille den globale boksstørrelse. På denne måde kan vores gitterstile bruges flere steder uden forstyrrelser. -
$enable-grid-classes
deaktiverer ikke længere genereringen af containerklasser længere. Se #29146. -
Opdaterede
make-col
mixin til standard til lige kolonner uden en specificeret størrelse.
Indhold, genstart osv
-
RFS er nu aktiveret som standard. Overskrifter ved hjælp af
font-size()
mixin vil automatisk justere deresfont-size
til skalering med visningsporten. Denne funktion var tidligere tilvalgt med v4. -
Breaking Reviderede vores displaytypografi for at erstatte vores
$display-*
variabler og med et$display-font-sizes
Sass-kort. Fjernede også de individuelle$display-*-weight
variabler for en enkelt$display-font-weight
og justeretfont-size
s. -
Tilføjet to nye
.display-*
overskriftsstørrelser,.display-5
og.display-6
. -
Links er som standard understreget (ikke kun ved svæv), medmindre de er en del af specifikke komponenter.
-
Omdesignede tabeller for at genopfriske deres stilarter og genopbygge dem med CSS-variabler for mere kontrol over stil.
-
Breaking Nested-tabeller arver ikke stilarter længere.
-
Breaking
.thead-light
and.thead-dark
droppes til fordel for.table-*
variantklasserne, som kan bruges til alle tabelelementer (thead
,tbody
,tfoot
,tr
,th
ogtd
). -
Breaking Mixin
table-row-variant()
omdøbes tiltable-variant()
og accepterer kun 2 parametre:$color
(farvenavn) og$value
(farvekode). Kantfarven og accentfarverne beregnes automatisk baseret på tabelfaktorvariablerne. -
Opdel tabelcelleudfyldningsvariabler i
-y
og-x
. -
Breaking Dropped
.pre-scrollable
klasse. Se #29135 -
Brydende
.text-*
hjælpeprogrammer tilføjer ikke svæve- og fokustilstande til links længere..link-*
hjælperklasser kan bruges i stedet. Se #29267 -
Breaking Dropped
.text-justify
klasse. Se #29793 -
Brydende
<hr>
elementer bruges nuheight
i stedet forborder
at understøttesize
attributten bedre. Dette gør det også muligt at bruge polstringsværktøjer til at skabe tykkere skillevægge (f.eks.<hr class="py-1">
). -
Nulstil standard vandret
padding-left
til<ul>
og<ol>
elementer fra browserstandard40px
til2rem
. -
Tilføjet
$enable-smooth-scroll
, som gælderscroll-behavior: smooth
globalt – undtagen for brugere, der beder om reduceret bevægelse gennemprefers-reduced-motion
medieforespørgsel. Se #31877
RTL
- Horisontale retningsspecifikke variabler, hjælpeprogrammer og mixins er alle blevet omdøbt til at bruge logiske egenskaber som dem, der findes i flexbox-layouts - f.eks.
start
ogend
i stedet forleft
ogright
.
Formularer
-
Tilføjet nye flydende formularer! Vi har promoveret eksemplet med flydende etiketter til fuldt understøttede formularkomponenter. Se den nye side med flydende etiketter.
-
Bryder konsoliderede indbyggede og brugerdefinerede formularelementer. Afkrydsningsfelter, radioer, udvalgte og andre input, der havde native og brugerdefinerede klasser i v4, er blevet konsolideret. Nu er næsten alle vores formularelementer helt tilpassede, de fleste uden behov for tilpasset HTML.
.custom-check
er nu.form-check
..custom-check.custom-switch
er nu.form-check.form-switch
..custom-select
er nu.form-select
..custom-file
og.form-file
er blevet erstattet af brugerdefinerede stilarter oven på.form-control
..custom-range
er nu.form-range
.- Droppet indfødte
.form-control-file
og.form-control-range
.
-
Breaking Dropped
.input-group-append
og.input-group-prepend
. Du kan nu blot tilføje knapper og.input-group-text
som direkte børn af inputgrupperne. -
Den langvarige Missing border-radius på inputgruppe med valideringsfeedback-fejl er endelig rettet ved at tilføje en ekstra
.has-validation
klasse til inputgrupper med validering. -
Breaking Dropped form-specifikke layout klasser for vores grid system. Brug vores gitter og hjælpeprogrammer i stedet for
.form-group
,.form-row
, eller.form-inline
. -
Breaking Form-etiketter kræver nu
.form-label
. -
Brydning
.form-text
sætter ikke længeredisplay
, hvilket giver dig mulighed for at oprette inline eller blokere hjælpetekst, som du ønsker blot ved at ændre HTML-elementet. -
Valideringsikoner anvendes ikke længere på
<select>
s medmultiple
. -
Omarrangerede Sass-kildefiler under
scss/forms/
, inklusive inputgruppetypografier.
Komponenter
- Samlede
padding
værdier for advarsler, brødkrummer, kort, rullemenuer, listegrupper, modaler, popovers og værktøjstip skal være baseret på vores$spacer
variabel. Se #30564 .
Harmonika
- Tilføjet ny harmonika-komponent .
Advarsler
-
Advarsler har nu eksempler med ikoner .
-
Fjernede brugerdefinerede stilarter for
<hr>
s i hver advarsel, da de allerede brugercurrentColor
.
Badges
-
Breaking Droppede alle
.badge-*
farveklasser til baggrundsværktøjer (f.eks. brug.bg-primary
i stedet for.badge-primary
). -
Breaking Dropped
.badge-pill
- brug.rounded-pill
værktøjet i stedet. -
Breaking Fjernet svæve- og fokusstile for
<a>
og<button>
elementer. -
Øget standardpolstring for badges fra
.25em
/.5em
til.35em
/.65em
.
Brødkrummer
-
Forenklet standardudseendet for brødkrummer ved at fjerne
padding
,background-color
, ogborder-radius
. -
Tilføjet ny tilpasset CSS-egenskab
--bs-breadcrumb-divider
for nem tilpasning uden at skulle kompilere CSS igen.
Knapper
-
Breaking Toggle-knapper , med afkrydsningsfelter eller radioer, kræver ikke længere JavaScript og har ny markering. Vi kræver ikke længere et indpakningselement, føj
.btn-check
til<input>
, og parre det med eventuelle.btn
klasser på<label>
. Se #30650 . Dokumenterne til dette er flyttet fra vores knapside til den nye formularsektion. -
Breaking Dropped
.btn-block
for forsyningsselskaber. I stedet for at bruge.btn-block
på.btn
, skal du pakke dine knapper med.d-grid
og et.gap-*
værktøj til at placere dem efter behov. Skift til responsive klasser for at få endnu mere kontrol over dem. Læs dokumenterne for nogle eksempler. -
Opdateret vores
button-variant()
ogbutton-outline-variant()
mixins for at understøtte yderligere parametre. -
Opdaterede knapper for at sikre øget kontrast ved svævning og aktive tilstande.
-
Deaktiverede knapper har nu
pointer-events: none;
.
Kort
-
Breaking Droppet
.card-deck
til fordel for vores grid. Pak dine kort ind i kolonneklasser, og tilføj en forældrebeholder.row-cols-*
for at genskabe kortbunker (men med mere kontrol over responsiv justering). -
Breaking Dropped
.card-columns
til fordel for Masonry. Se #28922 . -
Breaking Udskiftede den
.card
baserede harmonika med en ny harmonika-komponent .
Karrusel
-
Tilføjet ny
.carousel-dark
variant til mørk tekst, kontroller og indikatorer (fantastisk til lysere baggrunde). -
Udskiftet chevron-ikoner til karruselkontroller med nye SVG'er fra Bootstrap Icons .
Luk knap
-
Breaking Omdøbt
.close
til.btn-close
for et mindre generisk navn. -
Luk-knapper bruger nu en
background-image
(indlejret SVG) i stedet for en×
i HTML, hvilket muliggør lettere tilpasning uden at skulle røre ved din markering. -
Tilføjet ny
.btn-close-white
variant, der brugesfilter: invert(1)
til at aktivere højere kontrast afvisningsikoner mod mørkere baggrunde.
Bryder sammen
- Fjernet rulleforankring til harmonikaer.
Dropdowns
-
Tilføjet ny
.dropdown-menu-dark
variant og tilhørende variabler til on-demand mørke dropdowns. -
Tilføjet ny variabel for
$dropdown-padding-x
. -
Mørkede dropdown-deleren for forbedret kontrast.
-
Brydning Alle hændelser for rullemenuen udløses nu på rullemenuknappen og bobles derefter op til det overordnede element.
-
Rullemenuer har nu en
data-bs-popper="static"
egenskab indstillet, når placeringen af rullemenuen er statisk, ogdata-bs-popper="none"
når rullemenuen er i navigeringslinjen. Dette er tilføjet af vores JavaScript og hjælper os med at bruge tilpassede positionsstile uden at forstyrre Poppers positionering. -
Breaking Dropped
flip
mulighed for dropdown-plugin til fordel for native Popper-konfiguration. Du kan nu deaktivere vendeadfærden ved at sende et tomt array tilfallbackPlacements
option i flip - modifikator. -
Rullemenuer kan nu klikkes med en ny
autoClose
mulighed for at håndtere autoluk-adfærden . Du kan bruge denne mulighed til at acceptere klikket i eller uden for rullemenuen for at gøre den interaktiv. -
Dropdowns understøtter nu
.dropdown-item
s pakket ind i<li>
s.
Jumbotron
- Breaking Droppede jumbotron-komponenten, da den kan replikeres med hjælpeprogrammer. Se vores nye Jumbotron-eksempel for en demo.
Listegruppe
- Tilføjet ny
.list-group-numbered
modifikator til listegrupper.
Navs og faner
- Tilføjet nye
null
variabler forfont-size
,font-weight
,color
, og:hover
color
til.nav-link
klassen.
Navbars
- Breaking Navbars kræver nu en container indeni (for drastisk at forenkle krav til mellemrum og påkrævet CSS).
Offcanvas
- Tilføjet den nye offcanvas-komponent .
Sideinddeling
-
Sideinddelingslinks kan nu tilpasses
margin-left
, som er dynamisk afrundet i alle hjørner, når de er adskilt fra hinanden. -
Tilføjet
transition
s til pagineringslinks.
Popovers
-
Breaking Omdøbt
.arrow
til.popover-arrow
i vores standard popover-skabelon. -
Omdøbt
whiteList
mulighed tilallowList
.
Spinnere
-
Spinnere ærer nu
prefers-reduced-motion: reduce
ved at bremse animationerne. Se #31882 . -
Forbedret spinner vertikal justering.
Toasts
-
Toasts kan nu placeres i a
.toast-container
ved hjælp af positioneringsværktøjer . -
Ændret standard toastvarighed til 5 sekunder.
-
Fjernet
overflow: hidden
fra toasts og erstattet med ordentligeborder-radius
s medcalc()
funktioner.
Værktøjstip
-
Breaking Omdøbt
.arrow
til.tooltip-arrow
i vores standard værktøjstip-skabelon. -
Breaking Standardværdien for
fallbackPlacements
er ændret til['top', 'right', 'bottom', 'left']
for bedre placering af popper-elementer. -
Bryder Omdøbt
whiteList
mulighed tilallowList
.
Hjælpeprogrammer
-
Breaking Omdøbte flere værktøjer til at bruge logiske egenskabsnavne i stedet for retningsbestemte navne med tilføjelse af RTL-understøttelse:
- Omdøbt
.left-*
og.right-*
til.start-*
og.end-*
. - Omdøbt
.float-left
og.float-right
til.float-start
og.float-end
. - Omdøbt
.border-left
og.border-right
til.border-start
og.border-end
. - Omdøbt
.rounded-left
og.rounded-right
til.rounded-start
og.rounded-end
. - Omdøbt
.ml-*
og.mr-*
til.ms-*
og.me-*
. - Omdøbt
.pl-*
og.pr-*
til.ps-*
og.pe-*
. - Omdøbt
.text-left
og.text-right
til.text-start
og.text-end
.
- Omdøbt
-
Breaking Disabled negative marginer som standard.
-
Tilføjet ny
.bg-body
klasse for hurtigt at indstille<body>
's-baggrunden til yderligere elementer. -
Tilføjet nye positionsværktøjer til
top
,right
,bottom
, ogleft
. Værdier inkluderer0
,50%
, og100%
for hver ejendom. -
Tilføjet nye
.translate-middle-x
&.translate-middle-y
hjælpeprogrammer til vandret eller lodret centrering af absolut/fast placerede elementer. -
Tilføjet nye
border-width
hjælpeprogrammer . -
Breaking Omdøbt
.text-monospace
til.font-monospace
. -
Breaking Fjernet
.text-hide
, da det er en forældet metode til at skjule tekst, som ikke bør bruges længere. -
Tilføjede
.fs-*
hjælpeprogrammer tilfont-size
hjælpeprogrammer (med RFS aktiveret). Disse bruger samme skala som HTMLs standardoverskrifter (1-6, store til små), og kan ændres via Sass-kort. -
Breaking Omdøbte
.font-weight-*
hjælpeprogrammer.fw-*
for korthed og konsistens. -
Breaking Omdøbte
.font-style-*
hjælpeprogrammer.fst-*
for korthed og konsistens. -
Tilføjet
.d-grid
til visningsværktøjer og nyegap
hjælpeprogrammer (.gap
) til CSS Grid- og flexbox-layouts. -
Breaking Fjernede
.rounded-sm
ogrounded-lg
, og introducerede en ny skala af klasser,.rounded-0
til.rounded-3
. Se #31687 . -
Tilføjet nye
line-height
hjælpeprogrammer:.lh-1
,.lh-sm
,.lh-base
og.lh-lg
. Se her . -
Flyttede
.d-none
værktøjet i vores CSS for at give det mere vægt i forhold til andre skærmværktøjer. -
Udvidet
.visually-hidden-focusable
hjælperen til også at arbejde på containere ved hjælp af:focus-within
.
Hjælpere
-
Breaking Responsive embed-hjælpere er blevet omdøbt til ratio-hjælpere med nye klassenavne og forbedret adfærd samt en nyttig CSS-variabel.
- Klasser er blevet omdøbt til at skifte
by
tilx
i billedformatet. For eksempel.ratio-16by9
er nu.ratio-16x9
. - Vi har droppet
.embed-responsive-item
og elementgruppevælgeren til fordel for en enklere.ratio > *
vælger. Der kræves ikke mere klasse, og ratio-hjælperen fungerer nu med ethvert HTML-element. - Sass -
$embed-responsive-aspect-ratios
kortet er blevet omdøbt til,$aspect-ratios
og dets værdier er blevet forenklet til at inkludere klassenavnet og procentdelen somkey: value
parret. - CSS-variabler genereres nu og inkluderes for hver værdi i Sass-kortet. Rediger
--bs-aspect-ratio
variablen på for.ratio
at skabe ethvert tilpasset billedformat .
- Klasser er blevet omdøbt til at skifte
-
Breaking "Skærmlæser" klasser er nu "visuelt skjulte" klasser .
- Ændrede Sass-filen fra
scss/helpers/_screenreaders.scss
tilscss/helpers/_visually-hidden.scss
- Omdøbt
.sr-only
og.sr-only-focusable
til.visually-hidden
og.visually-hidden-focusable
- Omdøbt
sr-only()
ogsr-only-focusable()
mixins tilvisually-hidden()
ogvisually-hidden-focusable()
.
- Ændrede Sass-filen fra
-
bootstrap-utilities.css
omfatter nu også vores hjælpere. Hjælpere behøver ikke længere at blive importeret i brugerdefinerede builds.
JavaScript
-
Droppede jQuery-afhængighed og omskrev plugins til at være i almindelig JavaScript.
-
Breaking Data-attributter for alle JavaScript-plugins er nu navneinddelt for at hjælpe med at skelne Bootstrap-funktionalitet fra tredjeparter og din egen kode. For eksempel bruger vi
data-bs-toggle
i stedet fordata-toggle
. -
Alle plugins kan nu acceptere en CSS-vælger som det første argument. Du kan enten sende et DOM-element eller en hvilken som helst gyldig CSS-vælger for at oprette en ny forekomst af pluginnet:
var modal = new bootstrap.Modal('#myModal') var dropdown = new bootstrap.Dropdown('[data-bs-toggle="dropdown"]')
-
popperConfig
kan videregives som en funktion, der accepterer Bootstraps standard Popper-konfiguration som et argument, så du kan flette denne standardkonfiguration på din måde. Gælder for dropdowns, popovers og værktøjstip. -
Standardværdien for
fallbackPlacements
ændres til['top', 'right', 'bottom', 'left']
for bedre placering af Popper-elementer. Gælder for dropdowns, popovers og værktøjstip. -
Fjernet understregning fra offentlige statiske metoder som
_getInstance()
→getInstance()
.