Migrasi ke v4
Bootstrap 4 adalah penulisan ulang utama dari keseluruhan proyek. Perubahan yang paling menonjol dirangkum di bawah ini, diikuti oleh perubahan yang lebih spesifik pada komponen yang relevan.
Perubahan stabil
Pindah dari Beta 3 ke rilis v4.x stabil kami, tidak ada perubahan yang mengganggu, tetapi ada beberapa perubahan penting.
Pencetakan
-
Memperbaiki utilitas cetak yang rusak. Sebelumnya, menggunakan
.d-print-*
kelas secara tak terduga akan mengesampingkan.d-*
kelas lain. Sekarang, mereka cocok dengan utilitas tampilan kami yang lain dan hanya berlaku untuk media itu (@media print
). -
Memperluas utilitas tampilan cetak yang tersedia untuk mencocokkan utilitas lain. Beta 3 dan yang lebih lama hanya memiliki
block
,inline-block
,inline
, dannone
. v4 stabil ditambahkanflex
,inline-flex
,table
,table-row
, dantable-cell
. -
Memperbaiki rendering pratinjau cetak di seluruh browser dengan gaya cetak baru yang menentukan
@page
size
.
Perubahan beta 3
Sementara Beta 2 melihat sebagian besar perubahan kami selama fase beta, tetapi kami masih memiliki beberapa yang perlu ditangani dalam rilis Beta 3. Perubahan ini berlaku jika Anda memperbarui ke Beta 3 dari Beta 2 atau versi Bootstrap yang lebih lama.
Aneka ragam
- Menghapus
$thumbnail-transition
variabel yang tidak digunakan. Kami tidak mentransisikan apa pun, jadi itu hanya kode tambahan. - Paket npm tidak lagi menyertakan file apa pun selain file sumber dan dist kami; jika Anda mengandalkan mereka dan menjalankan skrip kami melalui
node_modules
folder, Anda harus menyesuaikan alur kerja Anda.
Formulir
-
Tulis ulang kotak centang dan radio kustom dan default. Sekarang, keduanya memiliki struktur HTML yang cocok (luar
<div>
dengan saudara kandung<input>
dan<label>
) dan gaya tata letak yang sama (standar tumpuk, sebaris dengan kelas pengubah). Ini memungkinkan kita untuk menata label berdasarkan status input, menyederhanakan dukungan untukdisabled
atribut (sebelumnya membutuhkan kelas induk) dan mendukung validasi formulir kita dengan lebih baik.Sebagai bagian dari ini, kami telah mengubah CSS untuk mengelola beberapa
background-image
s pada kotak centang dan radio formulir kustom. Sebelumnya, elemen yang sekarang dihapus.custom-control-indicator
memiliki warna latar belakang, gradien, dan ikon SVG. Menyesuaikan gradien latar belakang berarti mengganti semua itu setiap kali Anda perlu mengubah hanya satu. Sekarang, kita memiliki.custom-control-label::before
untuk mengisi dan gradien dan.custom-control-label::after
menangani ikon.Untuk membuat pemeriksaan kustom sebaris, tambahkan
.custom-control-inline
. -
Pemilih yang diperbarui untuk grup tombol berbasis input. Alih-alih
[data-toggle="buttons"] { }
untuk gaya dan perilaku, kami menggunakandata
atribut hanya untuk perilaku JS dan mengandalkan.btn-group-toggle
kelas baru untuk gaya. -
Dihapus
.col-form-legend
demi sedikit ditingkatkan.col-form-label
. Cara ini.col-form-label-sm
dan.col-form-label-lg
dapat digunakan pada<legend>
elemen dengan mudah. -
Input file khusus menerima perubahan pada
$custom-file-text
variabel Sass mereka. Ini bukan lagi peta Sass bersarang dan sekarang hanya memberi kekuatan pada satu string—Browse
tombol seperti itu sekarang menjadi satu-satunya elemen semu yang dihasilkan dari Sass kita. TeksChoose file
sekarang berasal dari.custom-file-label
.
Grup masukan
-
Add-on grup input sekarang khusus untuk penempatannya relatif terhadap input. Kami telah menjatuhkan
.input-group-addon
dan.input-group-btn
untuk dua kelas baru,.input-group-prepend
dan.input-group-append
. Anda harus secara eksplisit menggunakan append atau prepend sekarang, menyederhanakan sebagian besar CSS kami. Di dalam append atau prepend, tempatkan tombol Anda seperti yang ada di tempat lain, tetapi bungkus teks dalam.input-group-text
. -
Gaya validasi sekarang didukung, seperti juga beberapa input (meskipun Anda hanya dapat memvalidasi satu input per grup).
-
Kelas ukuran harus pada induk
.input-group
dan bukan elemen bentuk individual.
Beta 2 berubah
Saat dalam versi beta, kami bertujuan untuk tidak memiliki perubahan yang melanggar. Namun, hal-hal tidak selalu berjalan sesuai rencana. Di bawah ini adalah perubahan penting yang perlu diingat saat berpindah dari Beta 1 ke Beta 2.
Pemecahan
- Variabel yang dihapus
$badge-color
dan penggunaannya pada.badge
. Kami menggunakan fungsi kontras warna untuk memilihcolor
berdasarkanbackground-color
, jadi variabel tidak diperlukan. - Berganti nama menjadi
grayscale()
fungsi untukgray()
menghindari konflik pecah dengangrayscale
filter asli CSS. - Berganti nama
.table-inverse
,.thead-inverse
, dan.thead-default
to.*-dark
dan.*-light
, cocok dengan skema warna kami yang digunakan di tempat lain. - Tabel responsif sekarang menghasilkan kelas untuk setiap titik henti jaringan. Ini istirahat dari Beta 1 karena
.table-responsive
Anda telah menggunakan lebih seperti.table-responsive-md
. Anda sekarang dapat menggunakan.table-responsive
atau.table-responsive-{sm,md,lg,xl}
sesuai kebutuhan. - Menjatuhkan dukungan Bower sebagai manajer paket telah ditinggalkan untuk alternatif (misalnya, Benang atau npm). Lihat bower/bower#2298 untuk detailnya.
- Bootstrap masih membutuhkan jQuery 1.9.1 atau lebih tinggi, tetapi Anda disarankan untuk menggunakan versi 3.x karena browser yang didukung v3.x adalah yang didukung Bootstrap plus v3.x memiliki beberapa perbaikan keamanan.
- Menghapus
.form-control-label
kelas yang tidak digunakan. Jika Anda menggunakan kelas ini, itu adalah duplikat dari.col-form-label
kelas yang dipusatkan secara vertikal<label>
dengan input terkait dalam tata letak formulir horizontal. - Mengubah
color-yiq
dari mixin yang menyertakancolor
properti menjadi fungsi yang mengembalikan nilai, memungkinkan Anda menggunakannya untuk properti CSS apa pun. Misalnya, alih-alihcolor-yiq(#000)
, Anda akan menuliscolor: color-yiq(#000);
.
Highlight
- Memperkenalkan
pointer-events
penggunaan baru pada modals. Bagian luar.modal-dialog
melewati acara denganpointer-events: none
untuk penanganan klik khusus (memungkinkan untuk hanya mendengarkan.modal-backdrop
untuk klik apa pun), dan kemudian menetralkannya untuk yang sebenarnya.modal-content
denganpointer-events: auto
.
Ringkasan
Berikut adalah item tiket besar yang ingin Anda ketahui saat berpindah dari v3 ke v4.
Dukungan peramban
- Menjatuhkan dukungan IE8, IE9, dan iOS 6. v4 sekarang hanya IE10+ dan iOS 7+. Untuk situs yang membutuhkan salah satu dari itu, gunakan v3.
- Menambahkan dukungan resmi untuk Browser dan WebView Android v5.0 Lollipop. Versi sebelumnya dari Browser Android dan WebView tetap hanya didukung secara tidak resmi.
Perubahan global
- Flexbox diaktifkan secara default. Secara umum ini berarti menjauh dari pelampung dan lebih banyak lagi di seluruh komponen kami.
- Beralih dari Less ke Sass untuk file CSS sumber kami.
- Beralih dari
px
kerem
sebagai unit CSS utama kami, meskipun piksel masih digunakan untuk kueri media dan perilaku kisi karena area pandang perangkat tidak terpengaruh oleh ukuran jenis. - Ukuran font global meningkat dari
14px
menjadi16px
. - Tingkat kisi yang diubah untuk menambahkan opsi kelima (mengatasi perangkat yang lebih kecil di
576px
dan di bawah) dan menghapus-xs
infiks dari kelas tersebut. Contoh:.col-6.col-sm-4.col-md-3
. - Mengganti tema opsional terpisah dengan opsi yang dapat dikonfigurasi melalui variabel SCSS (mis
$enable-gradients: true
. - Membangun sistem yang dirombak untuk menggunakan serangkaian skrip npm alih-alih Grunt. Lihat
package.json
semua skrip, atau readme proyek kami untuk kebutuhan pengembangan lokal. - Penggunaan Bootstrap yang tidak responsif tidak lagi didukung.
- Menjatuhkan Customizer online demi dokumentasi penyiapan yang lebih ekstensif dan build yang disesuaikan.
- Menambahkan lusinan kelas utilitas baru untuk pasangan nilai properti CSS umum dan pintasan spasi margin/padding.
Sistem jaringan
- Pindah ke flexbox.
- Menambahkan dukungan untuk flexbox di mixin grid dan kelas yang telah ditentukan.
- Sebagai bagian dari flexbox, termasuk dukungan untuk kelas penyelarasan vertikal dan horizontal.
- Nama kelas kisi yang diperbarui dan tingkat kisi baru.
- Menambahkan
sm
tingkat kisi baru di bawah768px
untuk kontrol yang lebih terperinci. Kami sekarang memilikixs
,sm
,md
,lg
, danxl
. Ini juga berarti setiap tingkatan telah naik satu tingkat (jadi.col-md-6
di v3 sekarang.col-lg-6
di v4). xs
kelas grid telah dimodifikasi untuk tidak memerlukan infiks untuk lebih akurat menyatakan bahwa mereka mulai menerapkan gaya padamin-width: 0
dan bukan nilai piksel yang ditetapkan. Alih-alih.col-xs-6
, sekarang.col-6
. Semua tingkatan grid lainnya memerlukan infiks (misalnya,sm
).
- Menambahkan
- Ukuran grid, mixin, dan variabel yang diperbarui.
- Talang kisi sekarang memiliki peta Sass sehingga Anda dapat menentukan lebar talang tertentu di setiap titik henti sementara.
- Mixin grid yang diperbarui untuk menggunakan
make-col-ready
mixin persiapan dan amake-col
untuk mengaturflex
danmax-width
untuk ukuran kolom individual. - Mengubah titik henti sementara kueri media sistem kisi dan lebar penampung untuk memperhitungkan tingkat kisi baru dan memastikan kolom dapat dibagi secara merata
12
pada lebar maksimumnya. - Titik putus kisi dan lebar wadah sekarang ditangani melalui peta Sass (
$grid-breakpoints
dan$container-max-widths
) alih-alih beberapa variabel terpisah. Ini menggantikan@screen-*
variabel sepenuhnya dan memungkinkan Anda untuk sepenuhnya menyesuaikan tingkatan grid. - Kueri media juga telah berubah. Alih-alih mengulangi deklarasi kueri media kami dengan nilai yang sama setiap kali, kami sekarang memiliki
@include media-breakpoint-up/down/only
. Sekarang, alih-alih menulis@media (min-width: @screen-sm-min) { ... }
, Anda dapat menulis@include media-breakpoint-up(sm) { ... }
.
Komponen
- Panel, gambar mini, dan lubang yang dijatuhkan untuk komponen baru yang mencakup semua, kartu .
- Menjatuhkan font ikon Glyphicons. Jika Anda membutuhkan ikon, beberapa opsi adalah:
- versi hulu Glyphicons
- oktikon
- Font Mengagumkan
- Lihat halaman Perluas untuk daftar alternatif. Punya saran tambahan? Silakan buka masalah atau PR.
- Menjatuhkan plugin Affix jQuery.
- Kami merekomendasikan menggunakan
position: sticky
sebagai gantinya. Lihat HTML5 Silakan masuk untuk detail dan rekomendasi polyfill tertentu. Salah satu saran adalah menggunakan@supports
aturan untuk mengimplementasikannya (misalnya,@supports (position: sticky) { ... }
) - Jika Anda menggunakan Affix untuk menerapkan tambahan, non-
position
gaya, polyfill mungkin tidak mendukung kasus penggunaan Anda. Salah satu opsi untuk penggunaan tersebut adalah perpustakaan ScrollPos-Styler pihak ketiga .
- Kami merekomendasikan menggunakan
- Menjatuhkan komponen pager karena pada dasarnya adalah tombol yang sedikit disesuaikan.
- Memfaktorkan ulang hampir semua komponen untuk menggunakan lebih banyak pemilih kelas yang tidak bersarang daripada pemilih anak yang terlalu spesifik.
Menurut komponen
Daftar ini menyoroti perubahan utama berdasarkan komponen antara v3.xx dan v4.0.0.
Menyalakan ulang
Yang baru di Bootstrap 4 adalah Reboot , stylesheet baru yang dibangun di atas Normalize dengan gaya reset kami sendiri yang agak berpendirian. Selektor yang muncul di file ini hanya menggunakan elemen—tidak ada kelas di sini. Ini mengisolasi gaya reset kami dari gaya komponen kami untuk pendekatan yang lebih modular. Beberapa pengaturan ulang paling penting yang termasuk di dalamnya adalah box-sizing: border-box
perubahan, perpindahan dari em
ke rem
unit pada banyak elemen, gaya tautan, dan banyak pengaturan ulang elemen formulir.
Tipografi
- Memindahkan semua
.text-
utilitas ke_utilities.scss
file. - Dijatuhkan
.page-header
karena gayanya dapat diterapkan melalui utilitas. .dl-horizontal
telah dijatuhkan. Sebagai gantinya, gunakan.row
dan<dl>
gunakan kelas kolom kisi (atau mixin) pada<dt>
dan turunannya<dd>
.- Blockquotes yang didesain ulang, memindahkan gayanya dari
<blockquote>
elemen ke satu kelas,.blockquote
. Menjatuhkan.blockquote-reverse
pengubah untuk utilitas teks. .list-inline
sekarang mengharuskan item daftar turunannya memiliki.list-inline-item
kelas baru yang diterapkan padanya.
Gambar-gambar
- Berganti nama
.img-responsive
menjadi.img-fluid
. - Berganti nama
.img-rounded
menjadi.rounded
- Berganti nama
.img-circle
menjadi.rounded-circle
Tabel
- Hampir semua contoh
>
pemilih telah dihapus, artinya tabel bersarang sekarang akan secara otomatis mewarisi gaya dari induknya. Ini sangat menyederhanakan penyeleksi dan penyesuaian potensial kami. - Berganti nama
.table-condensed
menjadi.table-sm
untuk konsistensi. - Menambahkan
.table-inverse
opsi baru. - Menambahkan pengubah header tabel:
.thead-default
dan.thead-inverse
. - Mengganti nama kelas kontekstual menjadi
.table-
-prefix. Oleh karena itu.active
,.success
,.warning
,.danger
dan.info
untuk.table-active
,.table-success
,.table-warning
,.table-danger
dan.table-info
.
Formulir
- Elemen yang dipindahkan diatur ulang ke
_reboot.scss
file. - Berganti nama
.control-label
menjadi.col-form-label
. - Berganti nama
.input-lg
dan.input-sm
ke.form-control-lg
dan.form-control-sm
, Masing-masing. - Menjatuhkan
.form-group-*
kelas demi kesederhanaan. Gunakan.form-control-*
kelas sebagai gantinya sekarang. - Menjatuhkan
.help-block
dan menggantinya dengan.form-text
untuk teks bantuan tingkat blok. Untuk teks bantuan sebaris dan opsi fleksibel lainnya, gunakan kelas utilitas seperti.text-muted
. - Dijatuhkan
.radio-inline
dan.checkbox-inline
. - Konsolidasi
.checkbox
dan.radio
ke dalam.form-check
dan berbagai.form-check-*
kelas. - Bentuk horisontal dirombak:
- Menjatuhkan
.form-horizontal
persyaratan kelas. .form-group
tidak lagi menerapkan gaya dari.row
mixin via, jadi.row
sekarang diperlukan untuk tata letak kisi horizontal (mis.,<div class="form-group row">
).- Menambahkan
.col-form-label
kelas baru ke label tengah secara vertikal dengan.form-control
s. - Menambahkan yang baru
.form-row
untuk tata letak formulir ringkas dengan kelas kisi (tukar Anda.row
untuk.form-row
dan pergi).
- Menjatuhkan
- Menambahkan dukungan formulir kustom (untuk kotak centang, radio, pilihan, dan input file).
- Mengganti
.has-error
,.has-warning
, dan.has-success
kelas dengan validasi formulir HTML5 melalui CSS:invalid
dan:valid
kelas semu. - Berganti nama
.form-control-static
menjadi.form-control-plaintext
.
Tombol
- Berganti nama
.btn-default
menjadi.btn-secondary
. - Menjatuhkan
.btn-xs
kelas sepenuhnya karena.btn-sm
secara proporsional jauh lebih kecil daripada v3. - Fitur tombol stateful dari
button.js
plugin jQuery telah dihapus. Ini termasuk metode$().button(string)
dan$().button('reset')
. Kami menyarankan untuk menggunakan sedikit JavaScript khusus sebagai gantinya, yang akan bermanfaat untuk berperilaku persis seperti yang Anda inginkan.- Perhatikan bahwa fitur plugin lainnya (kotak centang tombol, radio tombol, tombol sakelar tunggal) telah dipertahankan di v4.
- Ubah tombol '
[disabled]
menjadi:disabled
sebagai IE9+ mendukung:disabled
. Namunfieldset[disabled]
tetap diperlukan karena fieldset asli yang dinonaktifkan masih bermasalah di IE11 .
Grup tombol
- Tulis ulang komponen dengan flexbox.
- Dihapus
.btn-group-justified
. Sebagai pengganti, Anda dapat menggunakan<div class="btn-group d-flex" role="group"></div>
sebagai pembungkus elemen dengan.w-100
. - Menjatuhkan
.btn-group-xs
kelas sepenuhnya diberikan penghapusan.btn-xs
. - Menghapus spasi eksplisit antara grup tombol di bilah alat tombol; gunakan utilitas margin sekarang.
- Peningkatan dokumentasi untuk digunakan dengan komponen lain.
Dropdown
- Beralih dari pemilih induk ke kelas tunggal untuk semua komponen, pengubah, dll.
- Gaya tarik-turun yang disederhanakan untuk tidak lagi dikirimkan dengan panah menghadap ke atas atau ke bawah yang melekat pada menu tarik-turun.
- Dropdown dapat dibangun dengan
<div>
s atau<ul>
s sekarang. - Gaya dan markup tarik-turun yang dibangun kembali untuk memberikan dukungan bawaan yang mudah untuk
<a>
dan<button>
berdasarkan item tarik-turun. - Berganti nama
.divider
menjadi.dropdown-divider
. - Item dropdown sekarang membutuhkan
.dropdown-item
. - Matikan dropdown tidak lagi memerlukan eksplisit
<span class="caret"></span>
; ini sekarang disediakan secara otomatis melalui CSS::after
di.dropdown-toggle
.
Sistem jaringan
- Menambahkan
576px
breakpoint grid baru sebagaism
, artinya sekarang ada total lima tingkatan (xs
,sm
,md
,lg
danxl
). - Mengganti nama kelas pengubah kisi responsif dari
.col-{breakpoint}-{modifier}-{size}
menjadi.{modifier}-{breakpoint}-{size}
untuk kelas kisi yang lebih sederhana. - Menjatuhkan kelas pengubah push dan pull untuk kelas baru yang didukung flexbox
order
. Misalnya, alih-alih.col-8.push-4
dan.col-4.pull-8
, Anda akan menggunakan.col-8.order-2
dan.col-4.order-1
. - Menambahkan kelas utilitas flexbox untuk sistem dan komponen grid.
Daftar grup
- Tulis ulang komponen dengan flexbox.
- Diganti
a.list-group-item
dengan kelas eksplisit,.list-group-item-action
, untuk tautan gaya dan versi tombol dari item grup daftar. - Menambahkan
.list-group-flush
kelas untuk digunakan dengan kartu.
Modal
- Tulis ulang komponen dengan flexbox.
- Mengingat perpindahan ke flexbox, penyelarasan ikon abaikan di header kemungkinan rusak karena kami tidak lagi menggunakan float. Konten terapung adalah yang utama, tetapi dengan flexbox hal itu tidak lagi terjadi. Perbarui ikon pemberhentian Anda agar muncul setelah judul modal untuk diperbaiki.
- Opsi
remote
(yang dapat digunakan untuk memuat dan menyuntikkan konten eksternal secara otomatis ke dalam modal) danloaded.bs.modal
acara terkait telah dihapus. Sebaiknya gunakan templat sisi klien atau kerangka kerja pengikatan data, atau panggil jQuery.load sendiri.
navigasi
- Tulis ulang komponen dengan flexbox.
- Menjatuhkan hampir semua
>
penyeleksi untuk penataan yang lebih sederhana melalui kelas yang tidak bersarang. - Alih-alih pemilih khusus HTML seperti
.nav > li > a
, kami menggunakan kelas terpisah untuk.nav
s,.nav-item
s, dan.nav-link
s. Ini membuat HTML Anda lebih fleksibel sambil membawa peningkatan ekstensibilitas.
navigasi
Navbar telah sepenuhnya ditulis ulang di flexbox dengan dukungan yang ditingkatkan untuk penyelarasan, responsivitas, dan penyesuaian.
- Perilaku navbar responsif sekarang diterapkan ke
.navbar
kelas melalui yang diperlukan.navbar-expand-{breakpoint}
di mana Anda memilih tempat untuk menutup navbar. Sebelumnya ini adalah modifikasi yang kurang variabel dan memerlukan kompilasi ulang. .navbar-default
sekarang.navbar-light
, meskipun.navbar-dark
tetap sama. Salah satunya diperlukan pada setiap navbar. Namun, kelas-kelas ini tidak lagi mengaturbackground-color
s; sebaliknya mereka pada dasarnya hanya mempengaruhicolor
.- Navbar sekarang memerlukan semacam deklarasi latar belakang. Pilih dari utilitas latar belakang kami (
.bg-*
) atau atur sendiri dengan kelas ringan/terbalik di atas untuk kustomisasi gila . - Dengan gaya flexbox, navbar sekarang dapat menggunakan utilitas flexbox untuk opsi penyelarasan yang mudah.
.navbar-toggle
sekarang.navbar-toggler
dan memiliki gaya dan markup dalam yang berbeda (tidak lebih dari tiga<span>
s).- Menjatuhkan
.navbar-form
kelas sepenuhnya. Itu tidak lagi diperlukan; sebagai gantinya, cukup gunakan.form-inline
dan terapkan utilitas margin seperlunya. - Navbars tidak lagi menyertakan
margin-bottom
atauborder-radius
secara default. Gunakan utilitas seperlunya. - Semua contoh yang menampilkan bilah navigasi telah diperbarui untuk menyertakan markup baru.
paginasi
- Tulis ulang komponen dengan flexbox.
- Kelas eksplisit (
.page-item
,.page-link
) sekarang diperlukan pada keturunan.pagination
s - Menjatuhkan
.pager
komponen sepenuhnya karena itu sedikit lebih dari tombol garis besar yang disesuaikan.
Tepung roti
- Kelas eksplisit,
.breadcrumb-item
, sekarang diperlukan pada turunan.breadcrumb
s
Label dan lencana
- Konsolidasi
.label
dan.badge
untuk memisahkan dari<label>
elemen dan menyederhanakan komponen terkait. - Ditambahkan
.badge-pill
sebagai pengubah untuk tampilan "pil" bulat. - Lencana tidak lagi melayang secara otomatis dalam grup daftar dan komponen lainnya. Kelas utilitas sekarang diperlukan untuk itu.
.badge-default
telah dijatuhkan dan.badge-secondary
ditambahkan untuk mencocokkan kelas pengubah komponen yang digunakan di tempat lain.
Panel, gambar mini, dan sumur
Dijatuhkan sepenuhnya untuk komponen kartu baru.
Panel
.panel
ke.card
, sekarang dibuat dengan flexbox..panel-default
dihapus dan tidak ada penggantian..panel-group
dihapus dan tidak ada penggantian..card-group
bukan pengganti, itu berbeda..panel-heading
ke.card-header
.panel-title
untuk.card-title
. Tergantung pada tampilan yang diinginkan, Anda mungkin juga ingin menggunakan elemen atau kelas heading (misalnya<h3>
,.h3
) atau elemen atau kelas tebal (misalnya<strong>
,<b>
,.font-weight-bold
). Perhatikan bahwa.card-title
, meskipun diberi nama yang sama, menghasilkan tampilan yang berbeda dari.panel-title
..panel-body
ke.card-body
.panel-footer
ke.card-footer
.panel-primary
,.panel-success
,.panel-info
,.panel-warning
, dan.panel-danger
telah dihapus untuk.bg-
,.text-
, dan.border
utilitas yang dihasilkan dari$theme-colors
peta Sass kami.
Kemajuan
- Mengganti
.progress-bar-*
kelas kontekstual dengan.bg-*
utilitas. Misalnyaclass="progress-bar progress-bar-danger"
menjadiclass="progress-bar bg-danger"
. - Digantikan
.active
untuk bilah kemajuan animasi dengan.progress-bar-animated
.
Korsel
- Merombak seluruh komponen untuk menyederhanakan desain dan gaya. Kami memiliki lebih sedikit gaya untuk Anda timpa, indikator baru, dan ikon baru.
- Semua CSS telah tidak bersarang dan diganti namanya, memastikan setiap kelas diawali dengan
.carousel-
.- Untuk item carousel,
.next
,.prev
,.left
, dan.right
sekarang.carousel-item-next
,.carousel-item-prev
,.carousel-item-left
, dan.carousel-item-right
. .item
juga sekarang.carousel-item
.- Untuk kontrol prev/next,
.carousel-control.right
dan.carousel-control.left
now.carousel-control-next
and.carousel-control-prev
, artinya mereka tidak lagi memerlukan kelas dasar tertentu.
- Untuk item carousel,
- Menghapus semua gaya responsif, mengalihkan ke utilitas (misalnya, menampilkan teks pada area pandang tertentu) dan gaya khusus sesuai kebutuhan.
- Penimpaan gambar yang dihapus untuk gambar dalam item carousel, mengacu pada utilitas.
- Tweak contoh Carousel untuk menyertakan markup dan gaya baru.
Tabel
- Menghapus dukungan untuk tabel bersarang bergaya. Semua gaya tabel sekarang diwarisi di v4 untuk penyeleksi yang lebih sederhana.
- Menambahkan varian tabel terbalik.
Keperluan
- Tampilan, tersembunyi, dan lainnya:
- Membuat utilitas tampilan responsif (mis.,
.d-none
dand-{sm,md,lg,xl}-none
). - Menjatuhkan sebagian besar
.hidden-*
utilitas untuk utilitas tampilan baru . Misalnya, alih-alih.hidden-sm-up
, gunakan.d-sm-none
. Mengganti nama.hidden-print
utilitas untuk menggunakan skema penamaan utilitas tampilan. Info lebih lanjut di bawah bagian Utilitas responsif halaman ini. - Menambahkan
.float-{sm,md,lg,xl}-{left,right,none}
kelas untuk pelampung responsif dan dihapus.pull-left
dan.pull-right
karena mereka berlebihan.float-left
dan.float-right
.
- Membuat utilitas tampilan responsif (mis.,
- Jenis:
- Menambahkan variasi responsif ke kelas perataan teks kami
.text-{sm,md,lg,xl}-{left,center,right}
.
- Menambahkan variasi responsif ke kelas perataan teks kami
- Penjajaran dan jarak:
- Menambahkan margin responsif baru dan utilitas padding untuk semua sisi, ditambah steno vertikal dan horizontal.
- Menambahkan muatan kapal dari utilitas flexbox .
- Diturunkan
.center-block
untuk.mx-auto
kelas baru.
- Clearfix diperbarui untuk menghentikan dukungan untuk versi browser yang lebih lama.
Mixin awalan vendor
Mixin awalan vendor Bootstrap 3 , yang tidak digunakan lagi di v3.2.0, telah dihapus di Bootstrap 4. Karena kami menggunakan Autoprefixer , mereka tidak lagi diperlukan.
Menghapus mixin berikut : animation
, animation-delay
, animation-direction
, animation-duration
, animation-fill-mode
, animation-iteration-count
, animation-name
, animation-timing-function
, backface-visibility
, box-sizing
, content-columns
, hyphens
, opacity
, perspective
, perspective-origin
, rotate
, rotateX
, rotateY
, scale
, scaleX
, scaleY
, skew
, transform-origin
, transition-delay
, transition-duration
, transition-property
, transition-timing-function
, transition-transform
, translate
,translate3d
user-select
Dokumentasi
Dokumentasi kami juga menerima peningkatan di seluruh papan. Inilah yang rendah:
- Kami masih menggunakan Jekyll, tetapi kami memiliki beberapa plugin:
bugify.rb
digunakan untuk secara efisien mencantumkan entri di halaman bug browser kami .example.rb
adalah garpu kustom darihighlight.rb
plugin default, memungkinkan penanganan kode contoh yang lebih mudah.callout.rb
adalah garpu khusus yang serupa, tetapi dirancang untuk info dokumen khusus kami.- jekyll-toc digunakan untuk membuat daftar isi kita.
- Semua konten dokumen telah ditulis ulang dalam Markdown (bukan HTML) untuk pengeditan yang lebih mudah.
- Halaman telah diatur ulang untuk konten yang lebih sederhana dan hierarki yang lebih mudah didekati.
- Kami pindah dari CSS biasa ke SCSS untuk memanfaatkan sepenuhnya variabel Bootstrap, mixin, dan banyak lagi.
Utilitas responsif
Semua @screen-
variabel telah dihapus di v4.0.0. Gunakan mixin media-breakpoint-up()
, media-breakpoint-down()
, atau Sass atau peta Sass sebagai gantinya.media-breakpoint-only()
$grid-breakpoints
Kelas utilitas responsif kami sebagian besar telah dihapus demi display
utilitas eksplisit.
- Kelas
.hidden
and.show
telah dihapus karena bertentangan dengan metode$(...).hide()
dan jQuery.$(...).show()
Sebagai gantinya, coba alihkan[hidden]
atributnya atau gunakan gaya sebaris sepertistyle="display: none;"
danstyle="display: block;"
. - Semua
.hidden-
kelas telah dihapus, simpan untuk utilitas cetak yang telah diganti namanya.- Dihapus dari v3:
.hidden-xs
.hidden-sm
.hidden-md
.hidden-lg
.visible-xs-block
.visible-xs-inline
.visible-xs-inline-block
.visible-sm-block
.visible-sm-inline
.visible-sm-inline-block
.visible-md-block
.visible-md-inline
.visible-md-inline-block
.visible-lg-block
.visible-lg-inline
.visible-lg-inline-block
- Dihapus dari alfa v4:
.hidden-xs-up
.hidden-xs-down
.hidden-sm-up
.hidden-sm-down
.hidden-md-up
.hidden-md-down
.hidden-lg-up
.hidden-lg-down
- Dihapus dari v3:
- Utilitas cetak tidak lagi dimulai dengan
.hidden-
atau.visible-
, tetapi dengan.d-print-
.- Nama lama :
.visible-print-block
,.visible-print-inline
,.visible-print-inline-block
,.hidden-print
- Kelas baru:
.d-print-block
,.d-print-inline
,.d-print-inline-block
,.d-print-none
- Nama lama :
Daripada menggunakan .visible-*
kelas eksplisit, Anda membuat elemen terlihat hanya dengan tidak menyembunyikannya pada ukuran layar tersebut. Anda dapat menggabungkan satu .d-*-none
kelas dengan satu .d-*-block
kelas untuk menampilkan elemen hanya pada interval ukuran layar tertentu (misalnya .d-none.d-md-block.d-xl-none
menampilkan elemen hanya pada perangkat sedang dan besar).
Perhatikan bahwa perubahan pada titik henti sementara kisi di v4 berarti Anda harus memperbesar satu titik henti sementara untuk mencapai hasil yang sama. Kelas utilitas responsif baru tidak berupaya mengakomodasi kasus yang kurang umum di mana visibilitas elemen tidak dapat dinyatakan sebagai rentang ukuran area pandang yang berdekatan; Anda malah perlu menggunakan CSS khusus dalam kasus seperti itu.