Migrace na v5
Sledujte a kontrolujte změny ve zdrojových souborech Bootstrap, dokumentaci a komponentách, které vám pomohou při migraci z verze 4 na verzi 5.
Závislosti
- Zahozen jQuery.
- Upgradováno z Popper v1.x na Popper v2.x.
- Nahrazení Libsass za Dart Sass, protože náš kompilátor Sass daný Libsass byl zastaralý.
- Přestěhovali jsme se z Jekyllu do Huga kvůli sestavení naší dokumentace
Podpora prohlížeče
- Vyřazen Internet Explorer 10 a 11
- Vyřazen Microsoft Edge < 16 (starší Edge)
- Vyřazen Firefox < 60
- Vypuštěné Safari < 12
- Vyřazeno iOS Safari < 12
- Zahozen Chrome < 60
Změny dokumentace
- Přepracovaná domovská stránka, rozvržení dokumentů a zápatí.
- Přidán nový průvodce balíkem .
- Byla přidána nová sekce Přizpůsobit , která nahradila stránku Theming v4 , s novými podrobnostmi o Sass, možnostmi globální konfigurace, barevnými schématy, proměnnými CSS a dalšími.
- Přeorganizovali veškerou dokumentaci formulářů do nové sekce Formuláře a rozdělili obsah na více zaměřené stránky.
- Podobně byla aktualizována sekce Rozvržení , aby byl obsah mřížky jasnější.
- Stránka součásti „Navs“ byla přejmenována na „Navs & Tabs“.
- Stránka „Šeky“ byla přejmenována na „Šeky a rádia“.
- Přepracovali jsme navigační lištu a přidali novou subnav, aby bylo snazší procházet naše stránky a verze dokumentů.
- Přidána nová klávesová zkratka pro vyhledávací pole: Ctrl + /.
Sass
-
Vypustili jsme výchozí sloučení map Sass, abychom usnadnili odstranění nadbytečných hodnot. Mějte na paměti, že nyní musíte definovat všechny hodnoty v mapách Sass, jako je
$theme-colors
. Podívejte se, jak zacházet s mapami Sass . -
Lámání
color-yiq()
Funkce a související proměnné byly přejmenovány nacolor-contrast()
, protože již nesouvisí s barevným prostorem YIQ. Viz #30168.$yiq-contrasted-threshold
je přejmenován na$min-contrast-ratio
.$yiq-text-dark
a$yiq-text-light
jsou příslušně přejmenovány na$color-contrast-dark
a$color-contrast-light
.
-
LámáníParametry mixů dotazů na média se změnily pro logičtější přístup.
media-breakpoint-down()
používá samotný bod přerušení místo dalšího bodu přerušení (např.media-breakpoint-down(lg)
namístomedia-breakpoint-down(md)
targets viewports menší nežlg
).- Podobně druhý parametr v
media-breakpoint-between()
také používá samotný bod přerušení místo dalšího bodu přerušení (např.media-between(sm, lg)
místomedia-breakpoint-between(sm, md)
výřezů cílů mezism
alg
).
-
LámáníOdstraněny styly tisku a
$enable-print-styles
proměnná. Třídy zobrazení tisku jsou stále k dispozici. Viz #28339 . -
LámáníFunkce
color()
,theme-color()
, a bylygray()
zrušeny ve prospěch proměnných. Viz #29083 . -
LámáníFunkce byla přejmenována
theme-color-level()
nacolor-level()
a nyní přijímá jakoukoli požadovanou barvu namísto pouze$theme-color
barev. Viz #29083 Pozor:color-level()
byl později zahozen dov5.0.0-alpha3
. -
LámáníPřejmenováno
$enable-prefers-reduced-motion-media-query
a$enable-pointer-cursor-for-buttons
na$enable-reduced-motion
a$enable-button-pointers
pro stručnost. -
LámáníOdstranil
bg-gradient-variant()
mixin. Použijte.bg-gradient
třídu k přidání přechodů k prvkům namísto vygenerovaných.bg-gradient-*
tříd. -
Lámání Odstraněné dříve zastaralé mixy:
hover
,hover-focus
,plain-hover-focus
ahover-focus-active
float()
form-control-mixin()
nav-divider()
retina-img()
text-hide()
(také zrušil přidruženou třídu utility,.text-hide
)visibility()
form-control-focus()
-
Lámání
scale-color()
Funkce byla přejmenována nashift-color()
, aby se zabránilo kolizi s vlastní funkcí barevného měřítka Sass. -
box-shadow
mixins nyní umožňujínull
hodnoty a vypouštějínone
z více argumentů. Viz #30394 . -
Mixin
border-radius()
má nyní výchozí hodnotu.
Barevný systém
-
Barevný systém, který pracoval
color-level()
a$theme-color-interval
byl odstraněn ve prospěch nového barevného systému. Všechny funkcelighten()
adarken()
v naší kódové základně jsou nahrazenytint-color()
ashade-color()
. Tyto funkce namíchají barvu buď s bílou nebo černou, místo aby změnily její světlost o pevnou hodnotu. Barvushift-color()
buď zabarví nebo zastíní v závislosti na tom, zda je jeho hmotnostní parametr kladný nebo záporný. Další podrobnosti viz #30622 . -
Přidány nové odstíny a odstíny pro každou barvu, což poskytuje devět samostatných barev pro každou základní barvu jako nové proměnné Sass.
-
Vylepšený barevný kontrast. Zvýšený barevný kontrastní poměr z 3:1 na 4,5:1 a aktualizované modré, zelené, azurové a růžové barvy pro zajištění kontrastu WCAG 2.1 AA. Také jsme změnili naši barevnou kontrastní barvu z
$gray-900
na$black
. -
Abychom podpořili náš barevný systém, přidali jsme nové uživatelské funkce
tint-color()
ashade-color()
funkce, které vhodně namíchají naše barvy.
Aktualizace mřížky
-
Nový bod zlomu! Přidán nový
xxl
bod přerušení pro1400px
a nahoru. Žádné změny všech ostatních zarážek. -
Vylepšené okapy. Svody jsou nyní nastaveny v rems a jsou užší než v4 (
1.5rem
, nebo asi24px
, dolů od30px
). Tím jsou žlaby našeho mřížkového systému zarovnány s našimi distančními nástroji.- Přidána nová třída okapů (
.g-*
,.gx-*
, a.gy-*
) pro ovládání vodorovných/svislých okapů, vodorovných okapů a svislých okapů. - LámáníPřejmenováno
.no-gutters
na,.g-0
aby odpovídalo novým obslužným programům okapů.
- Přidána nová třída okapů (
-
Sloupce se již nepoužívají, takže k obnovení tohoto chování
position: relative
možná budete muset přidat některé prvky..position-relative
-
LámáníBylo zrušeno několik
.order-*
tříd, které byly často nevyužité. Nyní poskytujeme pouze.order-1
po.order-5
rozbalení. -
LámáníZahodili
.media
komponentu, protože ji lze snadno replikovat pomocí nástrojů. Příklad viz #28265 a stránka flex utilities . -
Lámání
bootstrap-grid.css
nyní platí pouzebox-sizing: border-box
pro sloupec namísto resetování globální velikosti boxu. Tímto způsobem lze naše styly mřížky použít na více místech bez rušení. -
$enable-grid-classes
již nezakazuje generování tříd kontejnerů. Viz #29146. -
Aktualizoval
make-col
mixin na výchozí hodnotu na stejné sloupce bez zadané velikosti.
Obsah, restart atd
-
RFS je nyní ve výchozím nastavení povoleno. Nadpisy používající
font-size()
mixin se automaticky upravífont-size
podle měřítka výřezu. Tato funkce byla dříve přihlášena ve verzi 4. -
LámáníPřepracovali jsme typografii displeje, abychom nahradili naše
$display-*
proměnné a$display-font-sizes
mapu Sass. Také byly odstraněny jednotlivé$display-*-weight
proměnné pro jednu$display-font-weight
a upravenoufont-size
s. -
Přidány dvě nové
.display-*
velikosti nadpisů.display-5
a.display-6
. -
Odkazy jsou ve výchozím nastavení podtržené (nejen při umístění kurzoru), pokud nejsou součástí konkrétních komponent.
-
Přepracované tabulky tak, aby obnovily jejich styly a přestavěly je pomocí proměnných CSS pro větší kontrolu nad styly.
-
LámáníVnořené tabulky již nedědí styly.
-
Lámání
.thead-light
a.thead-dark
jsou vypuštěny ve prospěch.table-*
tříd variant, které lze použít pro všechny prvky tabulky (thead
,tbody
,tfoot
,tr
a )th
.td
-
LámáníMixin
table-row-variant()
je přejmenován natable-variant()
a přijímá pouze 2 parametry:$color
(název barvy) a$value
(kód barvy). Barva ohraničení a barvy zvýraznění se automaticky vypočítá na základě proměnných faktoru tabulky. -
Rozdělte proměnné odsazení buněk tabulky na
-y
a-x
. -
LámáníVypadlá
.pre-scrollable
třída. Viz #29135 -
Lámání
.text-*
utility již k odkazům nepřidávají stavy přechodu a fokusu..link-*
místo toho lze použít pomocné třídy. Viz #29267 -
LámáníVypadlá
.text-justify
třída. Viz #29793 -
Lámání
<hr>
prvky nyní používajíheight
místoborder
k lepší podpořesize
atributu. To také umožňuje použití vycpávkových utilit k vytvoření silnějších přepážek (např.<hr class="py-1">
). -
Obnovit výchozí horizontální
padding-left
zap<ul>
a<ol>
prvky z výchozího prohlížeče40px
na2rem
. -
Přidáno
$enable-smooth-scroll
, které platíscroll-behavior: smooth
globálně – s výjimkou uživatelů, kteří žádají omezení pohybu prostřednictvímprefers-reduced-motion
dotazu na média. Viz #31877
RTL
- Proměnné, nástroje a mixiny specifické pro horizontální směr byly všechny přejmenovány tak, aby používaly logické vlastnosti, jaké se nacházejí v rozložení flexboxů – např.
start
aend
namístoleft
aright
.
formuláře
-
Přidány nové plovoucí formuláře! Povýšili jsme příklad s plovoucími štítky na plně podporované komponenty formuláře. Podívejte se na novou stránku s plovoucími štítky.
-
Lámání Konsolidované nativní a vlastní prvky formuláře. Zaškrtávací políčka, rádia, výběry a další vstupy, které měly ve verzi 4 nativní a vlastní třídy, byly konsolidovány. Nyní jsou téměř všechny naše prvky formuláře zcela vlastní, většina bez potřeby vlastního HTML.
.custom-check
je nyní.form-check
..custom-check.custom-switch
je nyní.form-check.form-switch
..custom-select
je nyní.form-select
..custom-file
a.form-file
byly nahrazeny vlastními styly nad.form-control
..custom-range
je nyní.form-range
.- Vypadl nativní
.form-control-file
a.form-control-range
.
-
LámáníSpadl
.input-group-append
a.input-group-prepend
. Nyní můžete pouze přidat tlačítka a.input-group-text
jako přímé potomky vstupních skupin. -
Dlouhotrvající Chybějící okrajový poloměr na vstupní skupině s chybou zpětné vazby ověření je konečně opravena přidáním další
.has-validation
třídy do vstupních skupin s ověřením. -
Lámání Odstranění tříd rozvržení specifických pro formulář pro náš mřížkový systém. Použijte naši síť a nástroje místo
.form-group
,.form-row
, nebo.form-inline
. -
LámáníŠtítky formulářů nyní vyžadují
.form-label
. -
Lámání
.form-text
již nenastavujedisplay
, což vám umožňuje vytvářet vložený nebo blokovaný text nápovědy, jak si přejete, pouze změnou prvku HTML. -
Ověřovací ikony se již nepoužívají na
<select>
s smultiple
. -
Přeuspořádané zdrojové soubory Sass pod
scss/forms/
, včetně stylů vstupní skupiny.
Komponenty
- Sjednocené
padding
hodnoty pro upozornění, drobečky, karty, rozevírací seznamy, skupiny seznamů, modály, vyskakovací okna a popisky budou založeny na naší$spacer
proměnné. Viz #30564 .
Akordeon
- Přidán nový akordeonový komponent .
Upozornění
-
Upozornění nyní obsahují příklady s ikonami .
-
Odstraněny vlastní styly pro
<hr>
s v každém upozornění, protože již používajícurrentColor
.
Odznaky
-
LámáníVypustil všechny
.badge-*
třídy barev pro nástroje na pozadí (např. použijte.bg-primary
místo.badge-primary
). -
LámáníZahozeno
.badge-pill
–.rounded-pill
místo toho použijte nástroj. -
LámáníByly odstraněny styly kurzoru a zaměření pro prvky
<a>
a<button>
. -
Zvýšená výchozí výplň pro odznaky od
.25em
/.5em
do.35em
/.65em
.
Strouhanka
-
Zjednodušil výchozí vzhled drobečkové navigace odstraněním značek
padding
,background-color
aborder-radius
. -
Přidána nová vlastní vlastnost CSS
--bs-breadcrumb-divider
pro snadné přizpůsobení bez nutnosti překompilování CSS.
Tlačítka
-
Lámání Přepínací tlačítka se zaškrtávacími políčky nebo přepínači již nevyžadují JavaScript a mají nové označení. Již nepotřebujeme obalový prvek, přidáme
.btn-check
jej do<input>
a spárujeme jej s jakýmikoli.btn
třídami na<label>
. Viz #30650 . Dokumenty k tomu se přesunuly z naší stránky Tlačítka do nové sekce Formuláře. -
Lámání Upuštěno
.btn-block
kvůli inženýrským sítím. Namísto použití.btn-block
na.btn
, obalte tlačítka pomocí nástroje.d-grid
a.gap-*
nástroje pro jejich rozmístění podle potřeby. Přepněte na responzivní třídy pro ještě větší kontrolu nad nimi. Přečtěte si několik příkladů v dokumentaci. -
Aktualizovali jsme naše
button-variant()
abutton-outline-variant()
mixiny, aby podporovaly další parametry. -
Aktualizovaná tlačítka pro zajištění zvýšeného kontrastu při vznášení a aktivních stavech.
-
Deaktivovaná tlačítka nyní mají
pointer-events: none;
.
Kartu
-
LámáníPadl
.card-deck
ve prospěch naší sítě. Zabalte své karty do sloupcových tříd a přidejte nadřazený.row-cols-*
kontejner, abyste mohli znovu vytvořit balíčky karet (ale s větší kontrolou nad responzivním zarovnáním). -
LámáníUpuštěno
.card-columns
ve prospěch zednářství. Viz #28922 . -
LámáníNahrazení základní
.card
harmoniky novou komponentou Akordeonu .
Kolotoč
-
Přidána nová
.carousel-dark
varianta pro tmavý text, ovládací prvky a indikátory (skvělé pro světlejší pozadí). -
Ikony šipky pro ovládání karuselu byly nahrazeny novými SVG od Bootstrap Icons .
Tlačítko Zavřít
-
LámáníPřejmenováno
.close
na.btn-close
pro méně obecný název. -
Tlačítka Zavřít nyní používají v HTML
background-image
namísto (vložené SVG)×
, což umožňuje snazší přizpůsobení bez nutnosti dotýkat se označení. -
Přidána nová
.btn-close-white
varianta, kteráfilter: invert(1)
umožňuje aktivaci ikon s vyšším kontrastem na tmavším pozadí.
Kolaps
- Odstraněno ukotvení svitku pro akordeony.
Rozbalovací seznamy
-
Přidána nová
.dropdown-menu-dark
varianta a související proměnné pro tmavé rozbalovací nabídky na vyžádání. -
Přidána nová proměnná pro
$dropdown-padding-x
. -
Ztmavil rozevírací oddělovač pro lepší kontrast.
-
LámáníVšechny události pro rozevírací seznam se nyní spouštějí na přepínacím tlačítku rozevíracího seznamu a poté přecházejí do nadřazeného prvku.
-
Rozbalovací nabídky nyní mají
data-bs-popper="static"
nastaven atribut, když je umístění rozevíracího seznamu statické adata-bs-popper="none"
když je rozevírací seznam v navigační liště. To je přidáno naším JavaScriptem a pomáhá nám používat vlastní styly pozic, aniž by to zasahovalo do Popperova umístění. -
LámáníVypuštěna
flip
možnost rozbalovacího pluginu ve prospěch nativní konfigurace Popper. Nyní můžete zakázat převracení předáním prázdného pole profallbackPlacements
volbu v modifikátoru flip . -
Rozbalovací nabídky nyní mohou být klikatelné s novou
autoClose
možností zpracování chování automatického zavírání . Tuto možnost můžete použít k přijetí kliknutí uvnitř nebo vně rozevírací nabídky, aby byla interaktivní. -
Rozbalovací seznamy nyní podporují
.dropdown-item
s zabalená v<li>
s.
Jumbotron
- LámáníZahodili komponentu jumbotronu, protože ji lze replikovat pomocí nástrojů. Podívejte se na ukázku našeho nového Jumbotronu.
Seznam skupiny
- Přidán nový
.list-group-numbered
modifikátor do skupin seznamu.
Navigace a karty
- Do třídy byly přidány nové
null
proměnné profont-size
,font-weight
,color
a .:hover
color
.nav-link
Navbary
- LámáníNavbary nyní vyžadují kontejner uvnitř (pro výrazné zjednodušení požadavků na mezery a CSS).
Offcanvas
- Přidána nová komponenta offcanvas .
Stránkování
-
Odkazy stránkování nyní mají přizpůsobitelné
margin-left
, které jsou dynamicky zaoblené ve všech rozích, když jsou od sebe odděleny. -
Přidáno
transition
s do stránkovacích odkazů.
Popovers
-
LámáníPřejmenováno
.arrow
na.popover-arrow
v naší výchozí šabloně vyskakovacího okna. -
Možnost přejmenována
whiteList
naallowList
.
Přadleny
-
Spinery nyní ctí
prefers-reduced-motion: reduce
zpomalením animací. Viz #31882 . -
Vylepšené vertikální vyrovnání rotačního kotouče.
Toasty
-
Toasty lze nyní umístit do a
.toast-container
pomocí polohovacích nástrojů . -
Výchozí doba toastu byla změněna na 5 sekund.
-
Odebráno
overflow: hidden
z toastů a nahrazeno správnýmiborder-radius
s scalc()
funkcemi.
Popisky
-
LámáníPřejmenováno
.arrow
na.tooltip-arrow
v naší výchozí šabloně popisku. -
LámáníVýchozí hodnota pro
fallbackPlacements
se změní na['top', 'right', 'bottom', 'left']
pro lepší umístění prvků popperu. -
LámáníMožnost přejmenována
whiteList
naallowList
.
Utility
-
LámáníPřejmenováno několik obslužných programů tak, aby používaly názvy logických vlastností namísto směrových názvů s přidáním podpory RTL:
- Přejmenováno
.left-*
a.right-*
na.start-*
a.end-*
. - Přejmenováno
.float-left
a.float-right
na.float-start
a.float-end
. - Přejmenováno
.border-left
a.border-right
na.border-start
a.border-end
. - Přejmenováno
.rounded-left
a.rounded-right
na.rounded-start
a.rounded-end
. - Přejmenováno
.ml-*
a.mr-*
na.ms-*
a.me-*
. - Přejmenováno
.pl-*
a.pr-*
na.ps-*
a.pe-*
. - Přejmenováno
.text-left
a.text-right
na.text-start
a.text-end
.
- Přejmenováno
-
LámáníVe výchozím nastavení jsou záporné okraje zakázány.
-
Přidána nová
.bg-body
třída pro rychlé nastavení<body>
pozadí na další prvky. -
Přidány nové nástroje polohy pro
top
,right
,bottom
aleft
. Hodnoty zahrnují0
,50%
, a100%
pro každou vlastnost. -
Přidány nové nástroje
.translate-middle-x
a.translate-middle-y
nástroje pro horizontálně nebo vertikálně střed absolutní/pevně umístěné prvky. -
Přidány nové
border-width
nástroje . -
LámáníPřejmenováno
.text-monospace
na.font-monospace
. -
LámáníOdstraněno
.text-hide
, protože se jedná o zastaralou metodu pro skrytí textu, který by se již neměl používat. -
Přidány
.fs-*
nástroje profont-size
nástroje (s povoleným RFS). Používají stejné měřítko jako výchozí nadpisy HTML (1-6, velké až malé) a lze je upravit pomocí mapy Sass. -
LámáníPřejmenované
.font-weight-*
nástroje.fw-*
kvůli stručnosti a konzistenci. -
LámáníPřejmenované
.font-style-*
nástroje.fst-*
kvůli stručnosti a konzistenci. -
Přidány
.d-grid
nástroje pro zobrazení a novégap
nástroje (.gap
) pro rozvržení mřížky CSS a flexbox. -
LámáníOdebráno
.rounded-sm
arounded-lg
a zavedena nová stupnice tříd.rounded-0
do.rounded-3
. Viz #31687 . -
Přidány nové
line-height
nástroje:.lh-1
,.lh-sm
,.lh-base
a.lh-lg
. Viz zde . -
Přesunuli
.d-none
jsme utilitu do našeho CSS, abychom jí dali větší váhu oproti jiným zobrazovacím utilitám. -
Rozšíření
.visually-hidden-focusable
pomocníka také o práci na kontejnerech pomocí:focus-within
.
Pomocníci
-
Lámání Responzivní pomocníci pro vkládání byli přejmenováni na pomocníky pro poměr s novými názvy tříd a vylepšeným chováním a také užitečnou proměnnou CSS.
- Třídy byly přejmenovány, aby se změnily
by
nax
v poměru stran. Například.ratio-16by9
je nyní.ratio-16x9
. - Vypustili jsme
.embed-responsive-item
selektor skupiny prvků a ve prospěch jednoduššího.ratio > *
selektoru. Není potřeba žádná další třída a pomocník pro poměr nyní funguje s jakýmkoli HTML elementem. - Mapa
$embed-responsive-aspect-ratios
Sass byla přejmenována na$aspect-ratios
a její hodnoty byly zjednodušeny tak, aby zahrnovaly název třídy a procento jakokey: value
pár. - Proměnné CSS jsou nyní generovány a zahrnuty pro každou hodnotu v mapě Sass. Upravte
--bs-aspect-ratio
proměnnou na.ratio
a vytvořte libovolný vlastní poměr stran .
- Třídy byly přejmenovány, aby se změnily
-
Lámání Třídy „čtenář obrazovky“ jsou nyní „vizuálně skryté“ třídy .
- Změnil soubor Sass z
scss/helpers/_screenreaders.scss
nascss/helpers/_visually-hidden.scss
- Přejmenováno
.sr-only
a.sr-only-focusable
na.visually-hidden
a.visually-hidden-focusable
- Přejmenován
sr-only()
asr-only-focusable()
smíchán svisually-hidden()
avisually-hidden-focusable()
.
- Změnil soubor Sass z
-
bootstrap-utilities.css
nyní zahrnuje i naše pomocníky. Pomocníky již není nutné importovat do vlastních sestavení.
JavaScript
-
Byla zrušena závislost na jQuery a přepsány pluginy tak, aby byly v běžném JavaScriptu.
-
LámáníDatové atributy pro všechny pluginy JavaScriptu jsou nyní rozděleny do jmenných prostorů, aby pomohly odlišit funkci Bootstrap od třetích stran a vašeho vlastního kódu. Například používáme
data-bs-toggle
místodata-toggle
. -
Všechny pluginy nyní mohou přijímat selektor CSS jako první argument. Můžete předat prvek DOM nebo jakýkoli platný selektor CSS a vytvořit novou instanci pluginu:
var modal = new bootstrap.Modal('#myModal') var dropdown = new bootstrap.Dropdown('[data-bs-toggle="dropdown"]')
-
popperConfig
lze předat jako funkci, která akceptuje výchozí konfiguraci Popperu Bootstrapu jako argument, takže můžete tuto výchozí konfiguraci sloučit svým způsobem. Platí pro rozbalovací nabídky, vyskakovací okna a popisky. -
Výchozí hodnota pro
fallbackPlacements
se změní na['top', 'right', 'bottom', 'left']
pro lepší umístění prvků Popper. Platí pro rozbalovací nabídky, vyskakovací okna a popisky. -
Odstraněno podtržítko z veřejných statických metod jako
_getInstance()
→getInstance()
.