Migrasi ke v5
Lacak dan tinjau perubahan pada file sumber Bootstrap, dokumentasi, dan komponen untuk membantu Anda bermigrasi dari v4 ke v5.
v5.2.0
Desain yang diperbarui
Bootstrap v5.2.0 menampilkan pembaruan desain yang halus untuk beberapa komponen dan properti di seluruh proyek, terutama melalui border-radius
nilai yang disempurnakan pada tombol dan kontrol formulir . Dokumentasi kami juga telah diperbarui dengan beranda baru, tata letak dokumen yang lebih sederhana yang tidak lagi menciutkan bagian bilah sisi, dan contoh Ikon Bootstrap yang lebih menonjol .
Lebih banyak variabel CSS
Kami telah memperbarui semua komponen kami untuk menggunakan variabel CSS. Sementara Sass masih mendukung semuanya, setiap komponen telah diperbarui untuk menyertakan variabel CSS pada kelas dasar komponen (misalnya, .btn
), memungkinkan penyesuaian Bootstrap secara real-time. Dalam rilis berikutnya, kami akan terus memperluas penggunaan variabel CSS ke dalam tata letak, formulir, pembantu, dan utilitas kami. Baca lebih lanjut tentang variabel CSS di setiap komponen di halaman dokumentasi masing-masing.
Penggunaan variabel CSS kami akan agak tidak lengkap hingga Bootstrap 6. Meskipun kami ingin menerapkan ini sepenuhnya di seluruh papan, mereka berisiko menyebabkan perubahan yang merusak. Misalnya, pengaturan $alert-border-width: var(--bs-border-width)
dalam kode sumber kami merusak potensi Sass dalam kode Anda sendiri jika Anda melakukannya $alert-border-width * 2
karena suatu alasan.
Oleh karena itu, jika memungkinkan, kami akan terus mendorong lebih banyak variabel CSS, tetapi perlu diketahui bahwa implementasi kami mungkin sedikit terbatas di v5.
Baru_maps.scss
Bootstrap v5.2.0 memperkenalkan file Sass baru dengan _maps.scss
. Ini mengeluarkan beberapa peta Sass _variables.scss
untuk memperbaiki masalah di mana pembaruan ke peta asli tidak diterapkan ke peta sekunder yang memperluasnya. Misalnya, pembaruan untuk $theme-colors
tidak diterapkan ke peta tema lain yang mengandalkan $theme-colors
, merusak alur kerja penyesuaian utama. Singkatnya, Sass memiliki batasan di mana setelah variabel atau peta default digunakan , itu tidak dapat diperbarui. Ada kekurangan serupa dengan variabel CSS ketika mereka digunakan untuk membuat variabel CSS lainnya.
Inilah sebabnya mengapa penyesuaian variabel di Bootstrap harus dilakukan setelah @import "functions"
, tetapi sebelum @import "variables"
dan sisa tumpukan impor kami. Hal yang sama berlaku untuk peta Sass—Anda harus mengganti default sebelum digunakan. Peta berikut telah dipindahkan ke yang baru _maps.scss
:
$theme-colors-rgb
$utilities-colors
$utilities-text
$utilities-text-colors
$utilities-bg
$utilities-bg-colors
$negative-spacers
$gutters
Build CSS Bootstrap kustom Anda sekarang akan terlihat seperti ini dengan impor peta terpisah.
// 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
Utilitas baru
font-weight
Utilitas yang diperluas untuk disertakan.fw-semibold
untuk font semibold.border-radius
Utilitas yang diperluas untuk menyertakan dua ukuran baru,.rounded-4
dan.rounded-5
, untuk opsi lainnya.
Perubahan tambahan
-
Memperkenalkan
$enable-container-classes
opsi baru. — Sekarang saat memilih ke dalam tata letak Kotak CSS eksperimental,.container-*
kelas akan tetap dikompilasi, kecuali opsi ini disetel kefalse
. Kontainer juga sekarang mempertahankan nilai talangnya. -
Komponen Offcanvas kini memiliki variasi responsif . Kelas asli
.offcanvas
tetap tidak berubah—ia menyembunyikan konten di semua viewport. Untuk membuatnya responsif, ubah.offcanvas
kelas itu ke kelas mana pun.offcanvas-{sm|md|lg|xl|xxl}
. -
Pembagi meja yang lebih tebal sekarang disertakan. — Kami telah menghapus batas yang lebih tebal dan lebih sulit untuk ditimpa antara grup tabel dan memindahkannya ke kelas opsional yang dapat Anda terapkan,
.table-group-divider
. Lihat tabel docs untuk contoh. -
Scrollspy telah ditulis ulang untuk menggunakan Intersection Observer API , yang berarti Anda tidak lagi memerlukan pembungkus induk relatif, tidak lagi
offset
konfigurasi, dan banyak lagi. Cari implementasi Scrollspy Anda agar lebih akurat dan konsisten dalam penyorotan navigasinya. -
Popover dan tooltips sekarang menggunakan variabel CSS. Beberapa variabel CSS telah diperbarui dari rekan-rekan Sass mereka untuk mengurangi jumlah variabel. Akibatnya, tiga variabel tidak digunakan lagi dalam rilis ini:
$popover-arrow-color
,$popover-arrow-outer-color
, dan$tooltip-arrow-color
. -
Menambahkan
.text-bg-{color}
pembantu baru. Alih-alih mengatur individu.text-*
dan.bg-*
utilitas, Anda sekarang dapat menggunakan pembantu.text-bg-*
untuk mengatur denganbackground-color
latar depan yang kontrascolor
. -
Menambahkan
.form-check-reverse
pengubah untuk membalik urutan label dan kotak centang/radio terkait. -
Menambahkan dukungan kolom bergaris ke tabel melalui
.table-striped-columns
kelas baru.
Untuk daftar lengkap perubahan, lihat proyek v5.2.0 di GitHub .
v5.1.0
-
Menambahkan dukungan eksperimental untuk tata letak Grid CSS . — Ini adalah pekerjaan yang sedang berlangsung, dan belum siap untuk penggunaan produksi, tetapi Anda dapat memilih fitur baru melalui Sass. Untuk mengaktifkannya, nonaktifkan grid default, dengan mengatur
$enable-grid-classes: false
dan mengaktifkan CSS Grid dengan mengatur$enable-cssgrid: true
. -
Navbar yang diperbarui untuk mendukung offcanvas. — Tambahkan laci offcanvas di navbar mana pun dengan kelas responsif
.navbar-expand-*
dan beberapa markup offcanvas. -
Menambahkan komponen placeholder baru . — Komponen terbaru kami, cara menyediakan blokir sementara sebagai pengganti konten nyata untuk membantu menunjukkan bahwa ada sesuatu yang masih dimuat di situs atau aplikasi Anda.
-
Ciutkan plugin sekarang mendukung penciutan horizontal . — Tambahkan
.collapse-horizontal
ke Anda.collapse
untuk menciutkanwidth
alih -alihheight
. Hindari pengecatan ulang browser dengan menyetel amin-height
atauheight
. -
Menambahkan tumpukan baru dan pembantu aturan vertikal. — Terapkan beberapa properti flexbox dengan cepat untuk membuat tata letak khusus dengan tumpukan dengan cepat . Pilih dari tumpukan horizontal (
.hstack
) dan vertikal ( )..vstack
Tambahkan pembagi vertikal yang mirip dengan<hr>
elemen dengan pembantu baru.vr
. -
:root
Menambahkan variabel CSS global baru . — Menambahkan beberapa variabel CSS baru ke:root
level untuk mengontrol<body>
gaya. Lebih banyak lagi yang sedang dikerjakan, termasuk di seluruh utilitas dan komponen kami, tetapi untuk sekarang baca variabel CSS di bagian Kustomisasi . -
Utilitas warna dan latar belakang yang dirombak untuk menggunakan variabel CSS, dan menambahkan opasitas teks baru dan utilitas opasitas latar belakang . —
.text-*
dan.bg-*
utilitas sekarang dibangun dengan variabel CSS danrgba()
nilai warna, memungkinkan Anda untuk dengan mudah menyesuaikan utilitas apa pun dengan utilitas opacity baru. -
Menambahkan contoh cuplikan baru berdasarkan untuk menunjukkan cara menyesuaikan komponen kami. — Tarik komponen khusus yang siap pakai dan pola desain umum lainnya dengan contoh Cuplikan baru kami . Termasuk footer , dropdown , grup daftar , dan modals .
-
Menghapus gaya pemosisian yang tidak digunakan dari popover dan tooltips karena ini hanya ditangani oleh Popper.
$tooltip-margin
telah ditinggalkan dan disetel kenull
dalam proses.
Ingin informasi lebih lanjut? Baca posting blog v5.1.0.
Ketergantungan
- Menjatuhkan jQuery.
- Upgrade dari Popper v1.x ke Popper v2.x.
- Mengganti Libsass dengan Dart Sass karena kompiler Sass kami yang diberikan Libsass sudah tidak digunakan lagi.
- Bermigrasi dari Jekyll ke Hugo untuk membangun dokumentasi kami
Dukungan peramban
- Menjatuhkan Internet Explorer 10 dan 11
- Menjatuhkan Microsoft Edge <16 (Legacy Edge)
- Menjatuhkan Firefox < 60
- Menjatuhkan Safari <12
- Menjatuhkan iOS Safari <12
- Menjatuhkan Chrome < 60
Perubahan dokumentasi
- Beranda yang didesain ulang, tata letak dokumen, dan footer.
- Menambahkan panduan Paket baru .
- Menambahkan bagian Kustomisasi baru , menggantikan halaman Tema v4 , dengan detail baru tentang Sass, opsi konfigurasi global, skema warna, variabel CSS, dan banyak lagi.
- Mengatur ulang semua dokumentasi formulir menjadi bagian Formulir baru , memecah konten menjadi halaman yang lebih fokus.
- Demikian pula, perbarui bagian Tata Letak , untuk menyempurnakan konten kisi dengan lebih jelas.
- Mengganti nama halaman komponen “Navs” menjadi “Navs & Tabs”.
- Mengganti nama halaman "Cek" menjadi "Cek & radio".
- Mendesain ulang navbar dan menambahkan subnav baru untuk mempermudah menjelajahi situs dan versi dokumen kami.
- Menambahkan pintasan keyboard baru untuk bidang pencarian: Ctrl + /.
Kelancangan
-
Kami telah membuang gabungan peta Sass default untuk mempermudah menghapus nilai yang berlebihan. Ingatlah bahwa Anda sekarang harus mendefinisikan semua nilai di peta Sass seperti
$theme-colors
. Lihat cara menangani peta Sass . -
PemecahanMengganti nama
color-yiq()
fungsi dan variabel terkait menjadicolor-contrast()
karena tidak lagi terkait dengan ruang warna YIQ. Lihat #30168.$yiq-contrasted-threshold
diubah namanya menjadi$min-contrast-ratio
.$yiq-text-dark
dan$yiq-text-light
masing-masing diubah namanya menjadi$color-contrast-dark
dan$color-contrast-light
.
-
PemecahanParameter mixin kueri media telah berubah untuk pendekatan yang lebih logis.
media-breakpoint-down()
menggunakan breakpoint itu sendiri alih-alih breakpoint berikutnya (mis.,media-breakpoint-down(lg)
alih-alihmedia-breakpoint-down(md)
menargetkan area pandang yang lebih kecil darilg
).- Demikian pula, parameter kedua di
media-breakpoint-between()
juga menggunakan breakpoint itu sendiri alih-alih breakpoint berikutnya (misalnya,media-between(sm, lg)
sebagai gantimedia-breakpoint-between(sm, md)
target viewports antarasm
danlg
).
-
PemecahanDihapus gaya cetak dan
$enable-print-styles
variabel. Kelas tampilan cetak masih ada. Lihat #28339 . -
PemecahanMenjatuhkan
color()
,theme-color()
, dangray()
fungsi yang mendukung variabel. Lihat #29083 . -
PemecahanBerganti nama menjadi
theme-color-level()
fungsicolor-level()
dan sekarang menerima warna apa pun yang Anda inginkan, bukan hanya$theme-color
warna. Lihat #29083 Hati-hati:color-level()
kemudian dijatuhkanv5.0.0-alpha3
. -
PemecahanBerganti nama
$enable-prefers-reduced-motion-media-query
dan$enable-pointer-cursor-for-buttons
ke$enable-reduced-motion
dan$enable-button-pointers
untuk singkatnya. -
PemecahanDihapus
bg-gradient-variant()
mixinnya. Gunakan.bg-gradient
kelas untuk menambahkan gradien ke elemen, bukan.bg-gradient-*
kelas yang dihasilkan. -
Pemecahan Menghapus mixin yang sebelumnya tidak digunakan lagi:
hover
,hover-focus
,plain-hover-focus
, danhover-focus-active
float()
form-control-mixin()
nav-divider()
retina-img()
text-hide()
(juga menjatuhkan kelas utilitas terkait,.text-hide
)visibility()
form-control-focus()
-
PemecahanBerganti nama menjadi
scale-color()
fungsi untukshift-color()
menghindari tabrakan dengan fungsi penskalaan warna Sass sendiri. -
box-shadow
mixin sekarang mengizinkannull
nilai dan turunnone
dari beberapa argumen. Lihat #30394 . -
Mixin
border-radius()
sekarang memiliki nilai default.
Sistem warna
-
Sistem warna yang bekerja dengan
color-level()
dan$theme-color-interval
telah dihapus demi sistem warna baru. Semualighten()
dandarken()
fungsi dalam basis kode kami digantikan olehtint-color()
danshade-color()
. Fungsi-fungsi ini akan mencampur warna dengan putih atau hitam alih-alih mengubah kecerahannya dengan jumlah yang tetap. Baikshift-color()
akan mewarnai atau menaungi warna tergantung pada apakah parameter bobotnya positif atau negatif. Lihat #30622 untuk lebih jelasnya. -
Menambahkan rona dan corak baru untuk setiap warna, memberikan sembilan warna terpisah untuk setiap warna dasar, sebagai variabel Sass baru.
-
Kontras warna yang ditingkatkan. Rasio kontras warna terbentur dari 3:1 hingga 4,5:1 dan warna biru, hijau, cyan, dan pink yang diperbarui untuk memastikan kontras WCAG 2.1 AA. Juga mengubah warna kontras warna kami dari
$gray-900
menjadi$black
. -
Untuk mendukung sistem warna kami, kami telah menambahkan kustom
tint-color()
danshade-color()
fungsi baru untuk mencampur warna kami dengan tepat.
Pembaruan jaringan
-
Titik henti baru! Menambahkan
xxl
breakpoint baru untuk1400px
dan ke atas. Tidak ada perubahan pada semua breakpoint lainnya. -
Talang yang ditingkatkan. Talang sekarang diatur dalam rem, dan lebih sempit dari v4 (
1.5rem
, atau sekitar24px
, turun dari30px
). Ini menyelaraskan talang sistem grid kami dengan utilitas jarak kami.- Menambahkan kelas talang baru (
.g-*
,.gx-*
, dan.gy-*
) untuk mengontrol talang horizontal/vertikal, talang horizontal, dan talang vertikal. - PemecahanDiganti namanya
.no-gutters
menjadi.g-0
agar sesuai dengan utilitas selokan baru.
- Menambahkan kelas talang baru (
-
Kolom tidak lagi
position: relative
diterapkan, jadi Anda mungkin harus menambahkan.position-relative
beberapa elemen untuk memulihkan perilaku tersebut. -
PemecahanMenjatuhkan beberapa
.order-*
kelas yang sering tidak digunakan. Kami sekarang hanya menyediakan.order-1
di.order-5
luar kotak. -
PemecahanMenjatuhkan
.media
komponen karena dapat dengan mudah direplikasi dengan utilitas. Lihat #28265 dan halaman utilitas fleksibel untuk contoh . -
Pemecahan
bootstrap-grid.css
sekarang hanya berlakubox-sizing: border-box
untuk kolom alih-alih mengatur ulang ukuran kotak global. Dengan cara ini, gaya kisi kita dapat digunakan di lebih banyak tempat tanpa gangguan. -
$enable-grid-classes
tidak lagi menonaktifkan pembuatan kelas kontainer. Lihat #29146. -
Memperbarui
make-col
mixin ke default ke kolom yang sama tanpa ukuran yang ditentukan.
Konten, Reboot, dll
-
RFS sekarang diaktifkan secara default. Judul yang menggunakan
font-size()
mixin akan secara otomatis menyesuaikanfont-size
skalanya dengan area pandang. Fitur ini sebelumnya ikut serta dengan v4. -
PemecahanMerombak tipografi tampilan kami untuk mengganti
$display-*
variabel kami dan dengan$display-font-sizes
peta Sass. Juga menghapus$display-*-weight
variabel individu untuk s tunggal$display-font-weight
dan disesuaikanfont-size
. -
Menambahkan dua
.display-*
ukuran heading baru,.display-5
dan.display-6
. -
Tautan digarisbawahi secara default (tidak hanya saat mengarahkan kursor), kecuali jika merupakan bagian dari komponen tertentu.
-
Tabel yang didesain ulang untuk menyegarkan gayanya dan membangunnya kembali dengan variabel CSS untuk kontrol lebih besar atas gaya.
-
PemecahanTabel bersarang tidak mewarisi gaya lagi.
-
Pemecahan
.thead-light
dan.thead-dark
dijatuhkan demi.table-*
kelas varian yang dapat digunakan untuk semua elemen tabel (thead
,tbody
,tfoot
,tr
,th
dantd
). -
PemecahanMixin
table-row-variant()
diubah namanya menjaditable-variant()
dan hanya menerima 2 parameter:$color
(nama warna) dan$value
(kode warna). Warna batas dan warna aksen dihitung secara otomatis berdasarkan variabel faktor tabel. -
Pisahkan variabel padding sel tabel menjadi
-y
dan-x
. -
PemecahanKelas yang dijatuhkan
.pre-scrollable
. Lihat #29135 -
Pemecahan
.text-*
utilitas tidak menambahkan status hover dan fokus ke tautan lagi..link-*
kelas pembantu dapat digunakan sebagai gantinya. Lihat #29267 -
PemecahanKelas yang dijatuhkan
.text-justify
. Lihat #29793 -
Pemecahan
<hr>
elemen sekarang digunakanheight
alih-alihborder
untuk mendukungsize
atribut dengan lebih baik. Ini juga memungkinkan penggunaan utilitas padding untuk membuat pembagi yang lebih tebal (misalnya,<hr class="py-1">
). -
Setel ulang default horizontal dan elemen dari default
padding-left
browser ke .<ul>
<ol>
40px
2rem
-
Ditambahkan
$enable-smooth-scroll
, yang berlakuscroll-behavior: smooth
secara global—kecuali untuk pengguna yang meminta pengurangan gerakan melaluiprefers-reduced-motion
kueri media. Lihat #31877
RTL
- Variabel khusus arah horizontal, utilitas, dan mixin semuanya telah diganti namanya untuk menggunakan properti logis seperti yang ditemukan di tata letak flexbox—misalnya,
start
danend
sebagai penggantileft
danright
.
Formulir
-
Menambahkan formulir mengambang baru! Kami telah mempromosikan contoh label Mengambang ke komponen formulir yang didukung penuh. Lihat halaman label Mengambang yang baru.
-
Pemecahan Elemen formulir asli dan kustom yang dikonsolidasikan. Kotak centang, radio, pilihan, dan masukan lain yang memiliki kelas asli dan khusus di v4 telah digabungkan. Sekarang hampir semua elemen formulir kami sepenuhnya khusus, sebagian besar tanpa memerlukan HTML khusus.
.custom-control.custom-checkbox
sekarang.form-check
..custom-control.custom-custom-radio
sekarang.form-check
..custom-control.custom-switch
sekarang.form-check.form-switch
..custom-select
sekarang.form-select
..custom-file
dan.form-file
telah digantikan oleh gaya khusus di atas.form-control
..custom-range
sekarang.form-range
.- Menjatuhkan asli
.form-control-file
dan.form-control-range
.
-
PemecahanDijatuhkan
.input-group-append
dan.input-group-prepend
. Anda sekarang dapat menambahkan tombol dan.input-group-text
sebagai anak langsung dari grup input. -
Radius batas Hilang yang sudah lama ada pada grup input dengan bug umpan balik validasi akhirnya diperbaiki dengan menambahkan
.has-validation
kelas tambahan ke grup input dengan validasi. -
Pemecahan Menjatuhkan kelas tata letak khusus formulir untuk sistem kisi kami. Gunakan grid dan utilitas kami sebagai ganti
.form-group
,.form-row
, atau.form-inline
. -
PemecahanLabel formulir sekarang membutuhkan
.form-label
. -
Pemecahan
.form-text
tidak lagi setdisplay
, memungkinkan Anda untuk membuat teks bantuan sebaris atau blok sesuai keinginan hanya dengan mengubah elemen HTML. -
Kontrol formulir tidak lagi digunakan diperbaiki
height
bila memungkinkan, alih-alih ditundamin-height
untuk meningkatkan penyesuaian dan kompatibilitas dengan komponen lain. -
Ikon validasi tidak lagi diterapkan ke
<select>
s denganmultiple
. -
Mengatur ulang file Sass sumber di bawah
scss/forms/
, termasuk gaya grup input.
Komponen
- Nilai terpadu
padding
untuk peringatan, remah roti, kartu, dropdown, grup daftar, modals, popover, dan tooltips untuk didasarkan pada$spacer
variabel kami. Lihat #30564 .
Akordeon
- Menambahkan komponen akordeon baru .
Peringatan
-
Lansiran sekarang memiliki contoh dengan ikon .
-
Menghapus gaya khusus untuk
<hr>
s di setiap peringatan karena sudah menggunakancurrentColor
.
Lencana
-
PemecahanMenjatuhkan semua
.badge-*
kelas warna untuk utilitas latar belakang (misalnya, gunakan.bg-primary
alih-alih.badge-primary
). -
PemecahanDijatuhkan
.badge-pill
—gunakan.rounded-pill
utilitas sebagai gantinya. -
PemecahanMenghapus gaya hover dan fokus untuk
<a>
dan<button>
elemen. -
Peningkatan padding default untuk lencana dari
.25em
/.5em
ke.35em
/.65em
.
Tepung roti
-
Sederhanakan tampilan default remah roti dengan menghapus
padding
,background-color
, danborder-radius
. -
Menambahkan properti kustom CSS baru
--bs-breadcrumb-divider
untuk penyesuaian yang mudah tanpa perlu mengkompilasi ulang CSS.
Tombol
-
Pemecahan Tombol alih , dengan kotak centang atau radio, tidak lagi memerlukan JavaScript dan memiliki markup baru. Kami tidak lagi memerlukan elemen pembungkus, tambahkan
.btn-check
ke<input>
, dan pasangkan dengan.btn
kelas apa pun di<label>
. Lihat #30650 . Dokumen untuk ini telah dipindahkan dari halaman Tombol kami ke bagian Formulir baru. -
Pemecahan Dijatuhkan
.btn-block
untuk utilitas. Alih-alih menggunakan.btn-block
pada.btn
, bungkus tombol Anda dengan.d-grid
dan.gap-*
utilitas untuk memberi ruang sesuai kebutuhan. Beralih ke kelas responsif untuk kontrol yang lebih besar terhadapnya. Baca dokumen untuk beberapa contoh. -
Memperbarui kami
button-variant()
danbutton-outline-variant()
mixin untuk mendukung parameter tambahan. -
Tombol yang diperbarui untuk memastikan peningkatan kontras pada hover dan status aktif.
-
Tombol yang dinonaktifkan sekarang memiliki
pointer-events: none;
.
Kartu
-
PemecahanTurun
.card-deck
mendukung jaringan kami. Bungkus kartu Anda di kelas kolom dan tambahkan.row-cols-*
wadah induk untuk membuat ulang dek kartu (tetapi dengan kontrol lebih besar atas perataan responsif). -
PemecahanTurun
.card-columns
mendukung Masonry. Lihat #28922 . -
PemecahanMengganti
.card
akordeon berbasis dengan komponen Accordion baru .
Korsel
-
Menambahkan
.carousel-dark
varian baru untuk teks gelap, kontrol, dan indikator (bagus untuk latar belakang yang lebih terang). -
Ikon chevron yang diganti untuk kontrol carousel dengan SVG baru dari Bootstrap Icons .
Tutup tombol
-
PemecahanBerganti nama menjadi
.close
untuk nama.btn-close
yang kurang umum. -
Tombol tutup sekarang menggunakan
background-image
(SVG tertanam) alih-alih a×
dalam HTML, memungkinkan penyesuaian yang lebih mudah tanpa perlu menyentuh markup Anda. -
Menambahkan
.btn-close-white
varian baru yang digunakanfilter: invert(1)
untuk mengaktifkan ikon pengabaian kontras yang lebih tinggi dengan latar belakang yang lebih gelap.
Jatuh
- Penahan gulir yang dihapus untuk akordeon.
Dropdown
-
Menambahkan
.dropdown-menu-dark
varian baru dan variabel terkait untuk dropdown gelap sesuai permintaan. -
Menambahkan variabel baru untuk
$dropdown-padding-x
. -
Menggelapkan pembagi tarik-turun untuk meningkatkan kontras.
-
PemecahanSemua peristiwa untuk dropdown sekarang dipicu pada tombol sakelar dropdown dan kemudian digelembungkan ke elemen induk.
-
Menu dropdown sekarang memiliki
data-bs-popper="static"
atribut yang ditetapkan ketika posisi dropdown statis, atau dropdown di navbar. Ini ditambahkan oleh JavaScript kami dan membantu kami menggunakan gaya posisi khusus tanpa mengganggu pemosisian Popper. -
PemecahanOpsi yang dijatuhkan
flip
untuk plugin dropdown yang mendukung konfigurasi Popper asli. Anda sekarang dapat menonaktifkan perilaku membalik dengan melewatkan array kosong untukfallbackPlacements
opsi di pengubah flip . -
Menu dropdown sekarang dapat diklik dengan
autoClose
opsi baru untuk menangani perilaku tutup otomatis . Anda dapat menggunakan opsi ini untuk menerima klik di dalam atau di luar menu tarik-turun agar interaktif. -
Dropdown sekarang mendukung
.dropdown-item
s yang dibungkus<li>
s.
Jumbotron
- PemecahanMenjatuhkan komponen jumbotron karena dapat direplikasi dengan utilitas. Lihat contoh Jumbotron baru kami untuk demo.
Daftar grup
- Menambahkan
.list-group-numbered
pengubah baru ke grup daftar.
Nav dan tab
- Menambahkan
null
variabel baru untukfont-size
,font-weight
,color
, dan:hover
color
ke.nav-link
kelas.
Navbar
- PemecahanNavbar sekarang memerlukan wadah di dalamnya (untuk menyederhanakan persyaratan spasi dan CSS secara drastis).
- PemecahanKelas
.active
tidak bisa lagi diterapkan ke.nav-item
s, itu harus diterapkan langsung di.nav-link
s.
di luar kanvas
paginasi
-
Tautan pagination sekarang dapat disesuaikan
margin-left
yang dibulatkan secara dinamis di semua sudut saat dipisahkan satu sama lain. -
Menambahkan
transition
s ke tautan pagination.
Popover
-
PemecahanDiganti namanya
.arrow
menjadi.popover-arrow
di template popover default kami. -
Mengganti nama
whiteList
opsi menjadiallowList
.
Pemintal
-
Pemintal sekarang menghormati
prefers-reduced-motion: reduce
dengan memperlambat animasi. Lihat #31882 . -
Penyelarasan vertikal pemintal yang ditingkatkan.
bersulang
-
Roti panggang sekarang dapat diposisikan dengan
.toast-container
bantuan utilitas pemosisian . -
Mengubah durasi roti panggang default menjadi 5 detik.
-
Dihapus
overflow: hidden
dari toasts dan diganti denganborder-radius
s yang tepat dengancalc()
fungsi.
Keterangan alat
-
PemecahanDiganti namanya
.arrow
menjadi.tooltip-arrow
di template tooltip default kami. -
PemecahanNilai default untuk
fallbackPlacements
diubah menjadi['top', 'right', 'bottom', 'left']
untuk penempatan elemen popper yang lebih baik. -
PemecahanMengganti nama
whiteList
opsi menjadiallowList
.
Keperluan
-
PemecahanMengganti nama beberapa utilitas untuk menggunakan nama properti logis alih-alih nama arah dengan penambahan dukungan RTL:
- Berganti nama
.left-*
dan.right-*
menjadi.start-*
dan.end-*
. - Berganti nama
.float-left
dan.float-right
menjadi.float-start
dan.float-end
. - Berganti nama
.border-left
dan.border-right
menjadi.border-start
dan.border-end
. - Berganti nama
.rounded-left
dan.rounded-right
menjadi.rounded-start
dan.rounded-end
. - Berganti nama
.ml-*
dan.mr-*
menjadi.ms-*
dan.me-*
. - Berganti nama
.pl-*
dan.pr-*
menjadi.ps-*
dan.pe-*
. - Berganti nama
.text-left
dan.text-right
menjadi.text-start
dan.text-end
.
- Berganti nama
-
PemecahanMargin negatif dinonaktifkan secara default.
-
Menambahkan
.bg-body
kelas baru untuk mengatur<body>
latar belakang dengan cepat ke elemen tambahan. -
Menambahkan utilitas posisi baru untuk
top
,right
,bottom
, danleft
. Nilai termasuk0
,50%
, dan100%
untuk setiap properti. -
Menambahkan utilitas
.translate-middle-x
& baru.translate-middle-y
ke elemen posisi absolut/tetap secara horizontal atau vertikal di tengah. -
Menambahkan
border-width
utilitas baru . -
PemecahanBerganti nama
.text-monospace
menjadi.font-monospace
. -
PemecahanDihapus
.text-hide
karena merupakan metode kuno untuk menyembunyikan teks yang tidak boleh digunakan lagi. -
Menambahkan
.fs-*
utilitas untukfont-size
utilitas (dengan RFS diaktifkan). Ini menggunakan skala yang sama dengan judul default HTML (1-6, besar ke kecil), dan dapat dimodifikasi melalui peta Sass. -
PemecahanBerganti nama menjadi
.font-weight-*
utilitas.fw-*
untuk singkatnya dan konsistensi. -
PemecahanBerganti nama menjadi
.font-style-*
utilitas.fst-*
untuk singkatnya dan konsistensi. -
Ditambahkan
.d-grid
untuk menampilkan utilitas dangap
utilitas baru (.gap
) untuk CSS Grid dan layout flexbox. -
PemecahanDihapus
.rounded-sm
danrounded-lg
, dan memperkenalkan skala kelas baru,.rounded-0
ke.rounded-3
. Lihat #31687 . -
Menambahkan
line-height
utilitas baru:.lh-1
,.lh-sm
,.lh-base
dan.lh-lg
. Lihat di sini . -
Memindahkan
.d-none
utilitas di CSS kami untuk memberikan bobot lebih pada utilitas tampilan lainnya. -
Memperluas
.visually-hidden-focusable
pembantu untuk juga mengerjakan wadah, menggunakan:focus-within
.
Pembantu
-
Pemecahan Pembantu embed responsif telah diubah namanya menjadi pembantu rasio dengan nama kelas baru dan perilaku yang ditingkatkan, serta variabel CSS yang membantu.
- Kelas telah diubah namanya menjadi
by
rasiox
aspek. Misalnya,.ratio-16by9
sekarang.ratio-16x9
. - Kami telah menjatuhkan
.embed-responsive-item
pemilih grup elemen dan untuk memilih.ratio > *
pemilih yang lebih sederhana. Tidak ada lagi kelas yang diperlukan, dan penolong rasio sekarang berfungsi dengan elemen HTML apa pun. - Peta
$embed-responsive-aspect-ratios
Sass telah diubah namanya menjadi$aspect-ratios
dan nilainya telah disederhanakan untuk menyertakan nama kelas dan persentase sebagaikey: value
pasangan. - Variabel CSS sekarang dibuat dan disertakan untuk setiap nilai di peta Sass. Ubah
--bs-aspect-ratio
variabel pada.ratio
untuk membuat rasio aspek kustom apa pun .
- Kelas telah diubah namanya menjadi
-
Pemecahan Kelas "Pembaca layar" sekarang menjadi kelas "tersembunyi secara visual" .
- Mengubah file Sass dari
scss/helpers/_screenreaders.scss
kescss/helpers/_visually-hidden.scss
- Berganti nama
.sr-only
dan.sr-only-focusable
menjadi.visually-hidden
dan.visually-hidden-focusable
- Berganti nama
sr-only()
dansr-only-focusable()
bercampur menjadivisually-hidden()
danvisually-hidden-focusable()
.
- Mengubah file Sass dari
-
bootstrap-utilities.css
sekarang juga termasuk pembantu kami. Helper tidak perlu lagi diimpor dalam custom build.
JavaScript
-
Menjatuhkan ketergantungan jQuery dan menulis ulang plugin menjadi JavaScript biasa.
-
PemecahanAtribut data untuk semua plugin JavaScript sekarang diberi namespace untuk membantu membedakan fungsionalitas Bootstrap dari pihak ketiga dan kode Anda sendiri. Misalnya, kami menggunakan
data-bs-toggle
alih-alihdata-toggle
. -
Semua plugin sekarang dapat menerima pemilih CSS sebagai argumen pertama. Anda dapat meneruskan elemen DOM atau pemilih CSS yang valid untuk membuat instance baru dari plugin:
const modal = new bootstrap.Modal('#myModal') const dropdown = new bootstrap.Dropdown('[data-bs-toggle="dropdown"]')
-
popperConfig
dapat diteruskan sebagai fungsi yang menerima konfigurasi Popper default Bootstrap sebagai argumen, sehingga Anda dapat menggabungkan konfigurasi default ini dengan cara Anda. Berlaku untuk dropdown, popover, dan tooltips. -
Nilai default untuk
fallbackPlacements
diubah menjadi['top', 'right', 'bottom', 'left']
untuk penempatan elemen Popper yang lebih baik. Berlaku untuk dropdown, popover, dan tooltips. -
Garis bawah yang dihapus dari metode statis publik seperti
_getInstance()
→getInstance()
.