Migracja do v5
Śledź i przeglądaj zmiany w plikach źródłowych Bootstrap, dokumentacji i składnikach, aby ułatwić migrację z wersji 4 do 5.
v5.2.0
Odświeżony projekt
Bootstrap v5.2.0 zawiera subtelną aktualizację projektu dla kilku komponentów i właściwości w całym projekcie, w szczególności poprzez udoskonalone border-radius
wartości przycisków i kontrolek formularzy . Nasza dokumentacja została również zaktualizowana o nową stronę główną, prostszy układ dokumentów, który nie zwija już sekcji paska bocznego, oraz bardziej widoczne przykłady ikon Bootstrap .
Więcej zmiennych CSS
Zaktualizowaliśmy wszystkie nasze komponenty, aby korzystały ze zmiennych CSS. Chociaż Sass wciąż stanowi podstawę wszystkiego, każdy komponent został zaktualizowany, aby zawierał zmienne CSS w klasach bazowych komponentu (np. .btn
), co pozwala na większą personalizację Bootstrapa w czasie rzeczywistym. W kolejnych wydaniach będziemy nadal rozszerzać wykorzystanie zmiennych CSS w naszym układzie, formularzach, pomocnikach i narzędziach. Przeczytaj więcej o zmiennych CSS w każdym komponencie na odpowiednich stronach dokumentacji.
Nasze użycie zmiennych CSS będzie nieco niekompletne aż do Bootstrap 6. Chociaż bardzo chcielibyśmy je w pełni zaimplementować, istnieje ryzyko, że spowodują one poważne zmiany. Na przykład ustawienie $alert-border-width: var(--bs-border-width)
w naszym kodzie źródłowym łamie potencjalny Sass we własnym kodzie, jeśli robiłeś to $alert-border-width * 2
z jakiegoś powodu.
W związku z tym, tam gdzie to możliwe, będziemy dążyć do większej liczby zmiennych CSS, ale pamiętaj, że nasza implementacja może być nieco ograniczona w wersji 5.
Nowy_maps.scss
Bootstrap v5.2.0 wprowadził nowy plik Sass z _maps.scss
. Wyciąga kilka map Sassa, _variables.scss
aby naprawić problem polegający na tym, że aktualizacje oryginalnej mapy nie były stosowane do map pomocniczych, które je rozszerzają. Na przykład aktualizacje $theme-colors
nie były stosowane do innych map tematycznych, które opierały się na programie $theme-colors
, co łamało kluczowe przepływy pracy związane z dostosowywaniem. Krótko mówiąc, Sass ma ograniczenie polegające na tym, że po użyciu domyślnej zmiennej lub mapy nie można jej zaktualizować. Podobna wada występuje w przypadku zmiennych CSS, gdy są one używane do tworzenia innych zmiennych CSS.
Dlatego też zmienne dostosowania w Bootstrap muszą nastąpić po @import "functions"
, ale przed @import "variables"
i po pozostałej części naszego stosu importu. To samo dotyczy map Sass — musisz nadpisać wartości domyślne, zanim zostaną użyte. Następujące mapy zostały przeniesione do nowej wersji _maps.scss
:
$theme-colors-rgb
$utilities-colors
$utilities-text
$utilities-text-colors
$utilities-bg
$utilities-bg-colors
$negative-spacers
$gutters
Twoje niestandardowe kompilacje Bootstrap CSS powinny teraz wyglądać mniej więcej tak z osobnym importem map.
// 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
Nowe narzędzia
- Rozszerzone
font-weight
narzędzia do.fw-semibold
obsługi czcionek półgrubych. - Rozszerzone
border-radius
narzędzia o dwa nowe rozmiary.rounded-4
oraz.rounded-5
, aby uzyskać więcej opcji.
Dodatkowe zmiany
-
Wprowadzono nową
$enable-container-classes
opcję. — Teraz, gdy zdecydujesz się na eksperymentalny układ CSS Grid,.container-*
klasy będą nadal kompilowane, chyba że ta opcja jest ustawiona nafalse
. Kontenery również zachowują teraz swoje wartości rynny. -
Komponent Offcanvas ma teraz responsywne odmiany . Oryginalna
.offcanvas
klasa pozostaje niezmieniona — ukrywa zawartość we wszystkich rzutniach. Aby była responsywna, zmień tę.offcanvas
klasę na dowolną.offcanvas-{sm|md|lg|xl|xxl}
. -
Grubsze przegrody stołowe są teraz dostępne. — Usunęliśmy grubszą i trudniejszą do przesłonięcia granicę między grupami tabel i przenieśliśmy ją do opcjonalnej klasy, którą można zastosować,
.table-group-divider
. Zobacz przykładową tabelę dokumentów. -
Scrollspy został przepisany , aby używać interfejsu API Intersection Observer , co oznacza, że nie potrzebujesz już względnych opakowań nadrzędnych, przestarzałej
offset
konfiguracji i innych. Poszukaj swoich implementacji Scrollspy, aby były bardziej dokładne i spójne w podświetlaniu nawigacji. -
Wyskakujące okienka i podpowiedzi używają teraz zmiennych CSS. Niektóre zmienne CSS zostały zaktualizowane z ich odpowiedników Sass, aby zmniejszyć liczbę zmiennych. W rezultacie w tej wersji trzy zmienne zostały wycofane:
$popover-arrow-color
,$popover-arrow-outer-color
i$tooltip-arrow-color
. -
Dodano nowych
.text-bg-{color}
pomocników. Zamiast ustawiać jednostki.text-*
i.bg-*
narzędzia, możesz teraz użyć pomocników ,.text-bg-*
aby ustawićbackground-color
kontrast z pierwszym planemcolor
. -
Dodano
.form-check-reverse
modyfikator, aby odwrócić kolejność etykiet i powiązanych pól wyboru/radiów. -
Dodano obsługę kolumn w paski do tabel za pośrednictwem nowej
.table-striped-columns
klasy.
Aby uzyskać pełną listę zmian, zobacz projekt v5.2.0 w witrynie GitHub .
v5.1.0
-
Dodano eksperymentalne wsparcie dla układu CSS Grid . — To jest w toku i nie jest jeszcze gotowe do użytku produkcyjnego, ale możesz włączyć nową funkcję za pośrednictwem Sass. Aby ją włączyć, wyłącz domyślną siatkę, ustawiając
$enable-grid-classes: false
i włącz siatkę CSS, ustawiając$enable-cssgrid: true
. -
Zaktualizowano paski nawigacyjne, aby obsługiwać offcanvas. — Dodaj szuflady offcanvas na dowolnym pasku nawigacyjnym za pomocą responsywnych
.navbar-expand-*
klas i niektórych znaczników offcanvas. -
Dodano nowy składnik zastępczy . — Nasz najnowszy komponent, sposób na tymczasowe blokowanie zamiast prawdziwej treści, aby wskazać, że coś wciąż się ładuje w Twojej witrynie lub aplikacji.
-
Wtyczka Collapse obsługuje teraz zwijanie w poziomie . — Dodaj
.collapse-horizontal
do swojego,.collapse
aby zwinąćwidth
zamiastheight
. Unikaj ponownego malowania przeglądarki, ustawiającmin-height
lubheight
. -
Dodano nowe pomocniki w stosie i linijkach pionowych. — Szybko zastosuj wiele właściwości flexbox, aby szybko tworzyć niestandardowe układy ze stosami . Wybierz spośród stosów poziomych (
.hstack
) i pionowych ( )..vstack
Dodaj pionowe dzielniki podobne do<hr>
elementów z nowymi.vr
pomocnikami . -
Dodano nowe globalne
:root
zmienne CSS. — Dodano kilka nowych zmiennych CSS do:root
poziomu do kontrolowania<body>
stylów. Trwają prace nad kolejnymi, w tym naszymi narzędziami i komponentami, ale na razie przeczytaj zmienne CSS w sekcji Dostosuj . -
Zmodernizowane narzędzia do obsługi koloru i tła, umożliwiające korzystanie ze zmiennych CSS, oraz dodane nowe narzędzia służące do nieprzezroczystości tekstu i tła . —
.text-*
a.bg-*
narzędzia są teraz zbudowane ze zmiennymi CSS irgba()
wartościami kolorów, co pozwala łatwo dostosować dowolne narzędzie za pomocą nowych narzędzi krycia. -
Dodano nowe przykłady fragmentów kodu, aby pokazać, jak dostosować nasze komponenty. — Pociągnij gotowe do użycia niestandardowych komponentów i innych popularnych wzorców projektowych dzięki naszym nowym przykładom Snippets . Zawiera stopki , listy rozwijane , grupy list i modalne .
-
Usunięto nieużywane style pozycjonowania z okienek i podpowiedzi , ponieważ są one obsługiwane wyłącznie przez Poppera.
$tooltip-margin
został wycofany i ustawionynull
w procesie.
Chcesz więcej informacji? Przeczytaj wpis na blogu w wersji 5.1.0.
Zależności
- Porzucone jQuery.
- Zaktualizowano Poppera v1.x do Poppera v2.x.
- Zastąpiono Libsass Dart Sass, ponieważ nasz kompilator Sass, który otrzymał Libsass, był przestarzały.
- Przeniesiony z Jekyll do Hugo w celu zbudowania naszej dokumentacji
Obsługa przeglądarki
- Zrezygnowano z Internet Explorera 10 i 11
- Porzucono Microsoft Edge < 16 (starsza krawędź)
- Zrezygnowano z Firefoksa <60
- Zrzucono Safari < 12
- Zrezygnowano z Safari na iOS < 12
- Upadły chrom <60
Zmiany w dokumentacji
- Przeprojektowana strona główna, układ dokumentów i stopka.
- Dodano nowy przewodnik po przesyłkach .
- Dodano nową sekcję Dostosuj , zastępując stronę Motywy v4 nowymi szczegółami dotyczącymi Sass, globalnymi opcjami konfiguracji, schematami kolorów, zmiennymi CSS i nie tylko.
- Zreorganizowano całą dokumentację formularzy w nową sekcję Formularze , dzieląc zawartość na bardziej szczegółowe strony.
- Podobnie zaktualizowano sekcję Układ , aby wyraźniej uwydatnić zawartość siatki.
- Zmieniono nazwę strony komponentu „Navs” na „Navs & Tabs”.
- Zmieniono nazwę strony „Czeki” na „Czeki i radia”.
- Przeprojektowano pasek nawigacyjny i dodano nowy podrzędny, aby ułatwić poruszanie się po naszych witrynach i wersjach dokumentów.
- Dodano nowy skrót klawiaturowy do pola wyszukiwania: Ctrl + /.
Sass
-
Porzuciliśmy domyślne scalanie map Sass, aby ułatwić usuwanie zbędnych wartości. Pamiętaj, że teraz musisz zdefiniować wszystkie wartości na mapach Sass, takie jak
$theme-colors
. Sprawdź, jak radzić sobie z mapami Sassa . -
ŁamanieZmieniono nazwę
color-yiq()
funkcji i powiązanych zmiennych nacolor-contrast()
, ponieważ nie jest już związana z przestrzenią kolorów YIQ. Zobacz nr 30168.$yiq-contrasted-threshold
zmieniono nazwę na$min-contrast-ratio
.$yiq-text-dark
i$yiq-text-light
są odpowiednio przemianowane na$color-contrast-dark
i$color-contrast-light
.
-
ŁamanieParametry domieszek zapytań o media zostały zmienione w celu uzyskania bardziej logicznego podejścia.
media-breakpoint-down()
używa samego punktu przerwania zamiast następnego punktu przerwania (np.media-breakpoint-down(lg)
zamiastmedia-breakpoint-down(md)
docelowych rzutni mniejszych niżlg
).- Podobnie, drugi parametr w
media-breakpoint-between()
używa również samego punktu przerwania zamiast następnego punktu przerwania (np.media-between(sm, lg)
zamiastmedia-breakpoint-between(sm, md)
docelowych rzutni międzysm
ilg
).
-
ŁamanieUsunięto style drukowania i
$enable-print-styles
zmienną. Klasy wyświetlania druku są nadal dostępne. Zobacz #28339 . -
ŁamaniePorzucone funkcje
color()
,theme-color()
, igray()
na rzecz zmiennych. Zobacz #29083 . -
ŁamanieZmieniono nazwę
theme-color-level()
funkcji nacolor-level()
i teraz akceptuje dowolny kolor, a nie tylko$theme-color
kolory. Zobacz #29083 Uważaj:color-level()
został później wrzuconyv5.0.0-alpha3
. -
ŁamanieZmieniono nazwę
$enable-prefers-reduced-motion-media-query
i$enable-pointer-cursor-for-buttons
do$enable-reduced-motion
i$enable-button-pointers
dla zwięzłości. -
ŁamanieUsunięto
bg-gradient-variant()
mieszankę. Użyj.bg-gradient
klasy, aby dodać gradienty do elementów zamiast wygenerowanych.bg-gradient-*
klas. -
Łamanie Usunięto wcześniej przestarzałe domieszki:
hover
,hover-focus
,plain-hover-focus
, ihover-focus-active
float()
form-control-mixin()
nav-divider()
retina-img()
text-hide()
(porzuciła także powiązaną klasę narzędziową,.text-hide
)visibility()
form-control-focus()
-
ŁamanieZmieniono nazwę
scale-color()
funkcji,shift-color()
aby uniknąć kolizji z własną funkcją skalowania kolorów Sassa. -
box-shadow
domieszki pozwalają teraz nanull
wartości i porzucająnone
z wielu argumentów. Zobacz #30394 . -
Mixin
border-radius()
ma teraz wartość domyślną.
System kolorów
-
System kolorów, który działał
color-level()
i$theme-color-interval
został usunięty na rzecz nowego systemu kolorów. Wszystkie funkcjelighten()
idarken()
w naszej bazie kodu zostały zastąpione przeztint-color()
ishade-color()
. Funkcje te będą mieszać kolor z bielą lub czernią, zamiast zmieniać jego jasność o ustaloną wartość. Zabarwishift-color()
lub przyciemni kolor w zależności od tego, czy jego parametr wagowy jest dodatni, czy ujemny. Zobacz #30622 po więcej szczegółów. -
Dodano nowe odcienie i odcienie dla każdego koloru, zapewniając dziewięć oddzielnych kolorów dla każdego koloru bazowego, jako nowe zmienne Sass.
-
Poprawiony kontrast kolorów. Podwyższony współczynnik kontrastu kolorów z 3:1 do 4,5:1 i zaktualizowane kolory niebieski, zielony, cyjan i różowy, aby zapewnić kontrast WCAG 2.1 AA. Zmieniliśmy również nasz kontrast kolorów z
$gray-900
na$black
. -
Aby wesprzeć nasz system kolorów, dodaliśmy nowe niestandardowe
tint-color()
ishade-color()
funkcje, aby odpowiednio mieszać nasze kolory.
Aktualizacje siatki
-
Nowy punkt przerwania! Dodano nowy
xxl
punkt przerwania dla1400px
i w górę. Brak zmian we wszystkich pozostałych punktach przerwania. -
Ulepszone rynny. Rynny są teraz ustawione w remach i są węższe niż v4 (
1.5rem
, lub około24px
, w dół od30px
). To wyrównuje rynny naszego systemu kratowego z naszymi narzędziami do rozmieszczania.- Dodano nową klasę rynien (
.g-*
,.gx-*
i.gy-*
) do sterowania rynnami poziomymi/pionowymi, rynnami poziomymi i rynnami pionowymi. - ŁamanieZmieniono nazwę
.no-gutters
na.g-0
pasującą do nowych narzędzi rynnowych.
- Dodano nową klasę rynien (
-
Kolumny nie są już
position: relative
stosowane, więc może być konieczne dodanie.position-relative
niektórych elementów, aby przywrócić to zachowanie. -
ŁamanieZrezygnowano z kilku
.order-*
klas, które często nie były używane. Teraz dostarczamy tylko.order-1
po.order-5
wyjęciu z pudełka. -
ŁamaniePorzucono
.media
komponent, ponieważ można go łatwo replikować za pomocą narzędzi. Zobacz przykład nr 28265 i stronę narzędzi flex . -
Łamanie
bootstrap-grid.css
teraz dotyczy tylkobox-sizing: border-box
kolumny zamiast resetowania globalnego rozmiaru pudełka. W ten sposób nasze style siatki mogą być używane w większej liczbie miejsc bez zakłóceń. -
$enable-grid-classes
nie wyłącza już generowania klas kontenerów. Zobacz #29146. -
Zaktualizowano
make-col
domieszkę do domyślnych równych kolumn bez określonego rozmiaru.
Treść, ponowne uruchomienie itp.
-
RFS jest teraz domyślnie włączony. Nagłówki korzystające z
font-size()
domieszki automatycznie dostosują sięfont-size
do skali z rzutnią. Ta funkcja była wcześniej dostępna w wersji 4. -
ŁamanieZmieniliśmy naszą typografię wyświetlania, aby zastąpić nasze
$display-*
zmienne i$display-font-sizes
mapą Sassa. Usunięto również poszczególne$display-*-weight
zmienne dla pojedynczego$display-font-weight
i skorygowanegofont-size
s. -
Dodano dwa nowe
.display-*
rozmiary nagłówków.display-5
oraz.display-6
. -
Łącza są domyślnie podkreślone (nie tylko po najechaniu myszą), chyba że są częścią określonych komponentów.
-
Przeprojektowane tabele , aby odświeżyć ich style i przebudować je za pomocą zmiennych CSS, aby uzyskać większą kontrolę nad stylami.
-
ŁamanieTabele zagnieżdżone nie dziedziczą już stylów.
-
Łamanie
.thead-light
i.thead-dark
są porzucane na rzecz.table-*
klas wariantów, które mogą być używane dla wszystkich elementów tabeli (thead
,tbody
,tfoot
,tr
i )th
.td
-
ŁamanieMixin
table-row-variant()
zostaje przemianowany natable-variant()
i akceptuje tylko 2 parametry:$color
(nazwa koloru) i$value
(kod koloru). Kolor obramowania i kolory akcentów są obliczane automatycznie na podstawie zmiennych współczynników tabeli. -
Podziel zmienne wypełniające komórki tabeli na
-y
i-x
. -
ŁamaniePorzucona
.pre-scrollable
klasa. Zobacz #29135 -
Łamanie
.text-*
narzędzia nie dodają już stanów najechania i fokusu do łączy..link-*
zamiast tego można użyć klas pomocniczych. Zobacz #29267 -
ŁamaniePorzucona
.text-justify
klasa. Zobacz #29793 -
Łamanie
<hr>
elementy teraz używająheight
zamiast ,border
aby lepiej wspieraćsize
atrybut. Umożliwia to również korzystanie z narzędzi dopełniających do tworzenia grubszych przekładek (np<hr class="py-1">
. ). -
Zresetuj domyślne ustawienia poziome
padding-left
na<ul>
i<ol>
elementy z domyślnej przeglądarki40px
na2rem
. -
Dodano
$enable-smooth-scroll
, który ma zastosowaniescroll-behavior: smooth
globalnie — z wyjątkiem użytkowników proszących o ograniczenie ruchu za pomocąprefers-reduced-motion
zapytania o media. Zobacz #31877
RTL
- Zmienne specyficzne dla kierunku poziomego, narzędzia i domieszki zostały przemianowane, aby używać właściwości logicznych, takich jak te, które można znaleźć w układach flexboksa – np.
start
iend
zamiastleft
iright
.
Formularze
-
Dodano nowe pływające formy! Promowaliśmy przykład etykiet pływających na w pełni obsługiwane komponenty formularzy. Zobacz nową stronę Swobodne etykiety.
-
Łamanie Skonsolidowane natywne i niestandardowe elementy formularzy. Pola wyboru, radia, selekcje i inne dane wejściowe, które miały natywne i niestandardowe klasy w v4 zostały skonsolidowane. Teraz prawie wszystkie nasze elementy formularzy są całkowicie niestandardowe, większość z nich nie wymaga niestandardowego kodu HTML.
.custom-control.custom-checkbox
jest teraz.form-check
..custom-control.custom-custom-radio
jest teraz.form-check
..custom-control.custom-switch
jest teraz.form-check.form-switch
..custom-select
jest teraz.form-select
..custom-file
i.form-file
zostały zastąpione niestandardowymi stylami na górze.form-control
..custom-range
jest teraz.form-range
.- Porzucono natywny
.form-control-file
i.form-control-range
.
-
ŁamaniePorzucono
.input-group-append
i.input-group-prepend
. Możesz teraz po prostu dodawać przyciski i.input-group-text
jako bezpośrednie dzieci grup wejściowych. -
Długotrwały promień brakującego obramowania w grupie wejściowej z błędem informacji zwrotnej o walidacji został ostatecznie naprawiony przez dodanie dodatkowej
.has-validation
klasy do grup wejściowych z walidacją. -
Łamanie Porzucone klasy układu specyficzne dla formularza dla naszego systemu siatek. Użyj naszej siatki i narzędzi zamiast
.form-group
,.form-row
lub.form-inline
. -
ŁamanieEtykiety formularzy wymagają teraz
.form-label
. -
Łamanie
.form-text
nie ustawia jużdisplay
, co pozwala na tworzenie tekstu pomocy w tekście lub blokowaniu według własnego uznania, po prostu zmieniając element HTML. -
Kontrolki formularzy nie są już używane naprawione
height
, gdy jest to możliwe, zamiast tego odroczono wmin-height
celu poprawy dostosowania i zgodności z innymi składnikami. -
Ikony walidacji nie są już stosowane do
<select>
s zmultiple
. -
Zmieniono rozmieszczenie źródłowych plików Sass w obszarze
scss/forms/
, w tym style grup wejściowych.
składniki
- Ujednolicone
padding
wartości dla alertów, menu nawigacyjnego, kart, list rozwijanych, grup list, modów, okienek popover i podpowiedzi, oparte na naszej$spacer
zmiennej. Zobacz #30564 .
Akordeon
- Dodano nowy komponent akordeon .
Alerty
-
Alerty mają teraz przykłady z ikonami .
-
Usunięto niestandardowe style dla
<hr>
s w każdym alercie, ponieważ są już używanecurrentColor
.
Odznaki
-
ŁamanieUsunięto wszystkie
.badge-*
klasy kolorów dla narzędzi działających w tle (np. use.bg-primary
zamiast.badge-primary
). -
ŁamanieDropped — zamiast tego użyj narzędzia
.badge-pill
..rounded-pill
-
ŁamanieUsunięto style najechania i skupienia dla elementów
<a>
i .<button>
-
Zwiększono domyślne wypełnienie odznak z
.25em
/.5em
do.35em
/.65em
.
Bułka tarta
-
Uproszczono domyślny wygląd bułki tartej, usuwając
padding
,background-color
iborder-radius
. -
Dodano nową niestandardową właściwość CSS
--bs-breadcrumb-divider
dla łatwego dostosowywania bez konieczności ponownej kompilacji CSS.
guziki
-
Łamanie Przyciski przełączania , z polami wyboru lub radiami, nie wymagają już JavaScriptu i mają nowe znaczniki. Nie potrzebujemy już elementu opakowującego, dodajemy
.btn-check
do<input>
, i łączymy go z dowolnymi.btn
klasami na<label>
. Zobacz #30650 . Dokumentacja w tym zakresie została przeniesiona z naszej strony przycisków do nowej sekcji Formularze. -
Łamanie Porzucone
.btn-block
dla mediów. Zamiast używać.btn-block
na.btn
, owiń swoje przyciski.d-grid
i.gap-*
narzędzie, aby je rozmieścić w razie potrzeby. Przełącz się na responsywne klasy, aby mieć nad nimi jeszcze większą kontrolę. Przeczytaj kilka przykładów w dokumentacji. -
Zaktualizowano nasze
button-variant()
ibutton-outline-variant()
domieszki, aby obsługiwały dodatkowe parametry. -
Zaktualizowano przyciski, aby zapewnić zwiększony kontrast przy najechaniu i stanach aktywnych.
-
Wyłączone przyciski mają teraz
pointer-events: none;
.
Karta
-
ŁamanieZrezygnowano
.card-deck
na rzecz naszej siatki. Zawiń swoje karty w klasy kolumn i dodaj kontener nadrzędny.row-cols-*
, aby odtworzyć talie kart (ale z większą kontrolą nad responsywnym wyrównaniem). -
ŁamanieZrezygnowano
.card-columns
na rzecz masonerii. Zobacz #28922 . -
ŁamanieZastąpiono bazowy
.card
akordeon nowym komponentem akordeonu .
Karuzela
-
Dodano nowy
.carousel-dark
wariant dla ciemnego tekstu, kontrolek i wskaźników (idealny do jaśniejszego tła). -
Zamieniono ikony szewronów dla elementów sterujących karuzeli na nowe pliki SVG z ikon Bootstrap .
Przycisk zamykania
-
ŁamanieZmieniono nazwę
.close
na.btn-close
mniej ogólną nazwę. -
Przyciski zamykania używają teraz
background-image
(osadzonego SVG) zamiast×
w HTML, co pozwala na łatwiejsze dostosowywanie bez konieczności dotykania znaczników. -
Dodano nowy
.btn-close-white
wariant, który służyfilter: invert(1)
do włączania ikon odrzucania o wyższym kontraście na ciemniejszym tle.
Upadek
- Usunięto kotwiczenie przewijania dla akordeonów.
Menu rozwijane
-
Dodano nowy
.dropdown-menu-dark
wariant i powiązane zmienne dla ciemnych menu na żądanie. -
Dodano nową zmienną dla
$dropdown-padding-x
. -
Przyciemniono rozdzielacz listy rozwijanej, aby poprawić kontrast.
-
ŁamanieWszystkie zdarzenia z listy rozwijanej są teraz wywoływane za pomocą przycisku przełącznika listy rozwijanej, a następnie przesyłane do elementu nadrzędnego.
-
Menu rozwijane mają teraz
data-bs-popper="static"
atrybut ustawiany, gdy pozycja menu rozwijanego jest statyczna lub menu rozwijane znajduje się na pasku nawigacyjnym. Jest to dodawane przez nasz JavaScript i pomaga nam używać niestandardowych stylów pozycji bez zakłócania pozycjonowania Poppera. -
ŁamanieZrezygnowano
flip
z opcji rozwijanej wtyczki na rzecz natywnej konfiguracji Poppera. Możesz teraz wyłączyć zachowanie odwracania, przekazując pustą tablicę dlafallbackPlacements
opcji w modyfikatorze odwracania . -
Rozwijane menu można teraz kliknąć z nową
autoClose
opcją obsługi automatycznego zamykania . Możesz użyć tej opcji, aby zaakceptować kliknięcie wewnątrz lub poza menu rozwijanym, aby uczynić je interaktywnym. -
Lista rozwijana obsługuje teraz
.dropdown-item
s zawinięte w<li>
s.
Jumbotron
- ŁamanieZrezygnowano z komponentu jumbotron, ponieważ można go replikować za pomocą narzędzi. Zobacz nasz nowy przykład Jumbotron na demo.
Lista grup
- Dodano nowy
.list-group-numbered
modyfikator do grup list.
Navs i karty
- Dodano nowe
null
zmienne dlafont-size
,font-weight
,color
i:hover
color
do.nav-link
klasy.
Paski nawigacyjne
- ŁamanieNavbars wymagają teraz kontenera (w celu drastycznego uproszczenia wymagań dotyczących odstępów i wymaganego CSS).
- ŁamanieKlasy
.active
nie można już zastosować do.nav-item
s, należy ją zastosować bezpośrednio do.nav-link
s.
Offcanvas
- Dodano nowy składnik offcanvas .
Paginacja
-
Łącza do stronicowania mają teraz możliwość dostosowania
margin-left
, które są dynamicznie zaokrąglane we wszystkich rogach, gdy są od siebie oddzielone. -
Dodano
transition
s do linków stronicowania.
Popovery
-
ŁamanieZmieniono nazwę
.arrow
na.popover-arrow
w naszym domyślnym szablonie popover. -
Zmieniono nazwę
whiteList
opcji naallowList
.
Błystki
-
Prządki honorują teraz
prefers-reduced-motion: reduce
, spowalniając animacje. Zobacz #31882 . -
Ulepszone wyrównanie tarczy w pionie.
Tosty
-
Grzanki można teraz ustawiać w a
.toast-container
za pomocą narzędzi do pozycjonowania . -
Zmieniono domyślny czas trwania tostów na 5 sekund.
-
Usunięty
overflow: hidden
z tostów i zastąpiony odpowiednimiborder-radius
s zcalc()
funkcjami.
Podpowiedzi
-
ŁamanieZmieniono nazwę
.arrow
na.tooltip-arrow
w naszym domyślnym szablonie podpowiedzi. -
ŁamanieDomyślna wartość dla
fallbackPlacements
jest zmieniona na['top', 'right', 'bottom', 'left']
dla lepszego rozmieszczenia elementów poppera. -
ŁamanieZmieniono nazwę
whiteList
opcji naallowList
.
Narzędzia
-
ŁamanieZmieniono nazwy kilku narzędzi tak, aby używały logicznych nazw właściwości zamiast nazw kierunkowych z dodaniem obsługi RTL:
- Zmieniono nazwę
.left-*
i.right-*
na.start-*
i.end-*
. - Zmieniono nazwę
.float-left
i.float-right
na.float-start
i.float-end
. - Zmieniono nazwę
.border-left
i.border-right
na.border-start
i.border-end
. - Zmieniono nazwę
.rounded-left
i.rounded-right
na.rounded-start
i.rounded-end
. - Zmieniono nazwę
.ml-*
i.mr-*
na.ms-*
i.me-*
. - Zmieniono nazwę
.pl-*
i.pr-*
na.ps-*
i.pe-*
. - Zmieniono nazwę
.text-left
i.text-right
na.text-start
i.text-end
.
- Zmieniono nazwę
-
ŁamanieDomyślnie wyłączone ujemne marginesy.
-
Dodano nową
.bg-body
klasę do szybkiego ustawiania<body>
tła na dodatkowe elementy. -
Dodano nowe narzędzia pozycji dla
top
,right
,bottom
ileft
. Wartości obejmują0
,50%
i100%
dla każdej właściwości. -
Dodano nowe
.translate-middle-x
i.translate-middle-y
narzędzia do poziomego lub pionowego wyśrodkowania bezwzględnych/stałych elementów pozycjonowanych. -
Dodano nowe
border-width
narzędzia . -
ŁamanieZmieniono nazwę
.text-monospace
na.font-monospace
. -
ŁamanieUsunięto
.text-hide
, ponieważ jest to przestarzała metoda ukrywania tekstu, którego nie należy już używać. -
Dodano
.fs-*
narzędzia dlafont-size
narzędzi (z włączonym RFS). Używają one tej samej skali, co domyślne nagłówki HTML (1-6, od dużego do małego) i można je modyfikować za pomocą mapy Sass. -
ŁamanieZmieniono nazwy
.font-weight-*
narzędzi ze.fw-*
względu na zwięzłość i spójność. -
ŁamanieZmieniono nazwy
.font-style-*
narzędzi ze.fst-*
względu na zwięzłość i spójność. -
Dodano
.d-grid
do wyświetlania narzędzi i nowychgap
narzędzi (.gap
) dla układów CSS Grid i flexbox. -
ŁamanieUsunięto
.rounded-sm
irounded-lg
, a wprowadzono nową skalę klas,.rounded-0
do.rounded-3
. Zobacz #31687 . -
Dodano nowe
line-height
narzędzia :.lh-1
,.lh-sm
i.lh-base
..lh-lg
Zobacz tutaj . -
Przeniesiono
.d-none
narzędzie w naszym CSS, aby nadać mu większą wagę w stosunku do innych narzędzi do wyświetlania. -
Rozszerzono
.visually-hidden-focusable
pomocnika, aby działał również na kontenerach, używając:focus-within
.
Pomocnicy
-
Łamanie Responsywne helpery embed zostały przemianowane na helpery ratio z nowymi nazwami klas i ulepszonymi zachowaniami, a także pomocną zmienną CSS.
- Zmieniono nazwy klas, aby zmienić
by
ichx
proporcje na. Na przykład.ratio-16by9
jest teraz.ratio-16x9
. - Zrezygnowaliśmy z
.embed-responsive-item
selektora i grupy elementów na rzecz prostszego.ratio > *
selektora. Nie potrzeba więcej klasy, a helper ratio działa teraz z dowolnym elementem HTML. - Mapa
$embed-responsive-aspect-ratios
Sass została zmieniona na,$aspect-ratios
a jej wartości zostały uproszczone, tak aby zawierała nazwę klasy i procent jakokey: value
parę. - Zmienne CSS są teraz generowane i uwzględniane dla każdej wartości na mapie Sass. Zmodyfikuj
--bs-aspect-ratio
zmienną na ,.ratio
aby utworzyć dowolny niestandardowy współczynnik proporcji .
- Zmieniono nazwy klas, aby zmienić
-
Łamanie Klasy „Czytnik ekranu” są teraz klasami „ukrytymi wizualnie” .
- Zmieniono plik Sass z
scss/helpers/_screenreaders.scss
nascss/helpers/_visually-hidden.scss
- Zmieniono nazwę
.sr-only
i.sr-only-focusable
na.visually-hidden
i.visually-hidden-focusable
- Zmieniono nazwę
sr-only()
isr-only-focusable()
domieszki navisually-hidden()
ivisually-hidden-focusable()
.
- Zmieniono plik Sass z
-
bootstrap-utilities.css
teraz obejmuje również naszych pomocników. Pomocników nie trzeba już importować w kompilacjach niestandardowych.
JavaScript
-
Zrezygnowano z zależności jQuery i przepisano wtyczki, aby były w zwykłym JavaScript.
-
ŁamanieAtrybuty danych dla wszystkich wtyczek JavaScript mają teraz przestrzeń nazw, aby pomóc odróżnić funkcjonalność Bootstrap od stron trzecich i własnego kodu. Na przykład używamy
data-bs-toggle
zamiastdata-toggle
. -
Wszystkie wtyczki mogą teraz akceptować selektor CSS jako pierwszy argument. Możesz przekazać element DOM lub dowolny prawidłowy selektor CSS, aby utworzyć nową instancję wtyczki:
const modal = new bootstrap.Modal('#myModal') const dropdown = new bootstrap.Dropdown('[data-bs-toggle="dropdown"]')
-
popperConfig
można przekazać jako funkcję, która akceptuje domyślną konfigurację Poppera Bootstrapa jako argument, dzięki czemu można scalić tę domyślną konfigurację na swój sposób. Dotyczy list rozwijanych, okienek naręcznych i podpowiedzi. -
Domyślna wartość dla
fallbackPlacements
jest zmieniona na['top', 'right', 'bottom', 'left']
dla lepszego rozmieszczenia elementów Poppera. Dotyczy list rozwijanych, okienek naręcznych i podpowiedzi. -
Usunięto podkreślenie z publicznych metod statycznych, takich jak
_getInstance()
→getInstance()
.