Sistem jaringan
Gunakan kisi flexbox mobile-first kami yang kuat untuk membangun tata letak dari semua bentuk dan ukuran berkat sistem dua belas kolom, lima tingkat responsif default, variabel Sass dan mixin, dan lusinan kelas yang telah ditentukan sebelumnya.
Bagaimana itu bekerja
Sistem grid Bootstrap menggunakan serangkaian wadah, baris, dan kolom untuk tata letak dan menyelaraskan konten. Itu dibangun dengan flexbox dan sepenuhnya responsif. Di bawah ini adalah contoh dan pandangan mendalam tentang bagaimana kisi-kisi itu bersatu.
Baru atau tidak terbiasa dengan flexbox? Baca panduan flexbox Trik CSS ini untuk latar belakang, terminologi, pedoman, dan cuplikan kode.
Contoh di atas membuat tiga kolom dengan lebar yang sama pada perangkat kecil, sedang, besar, dan ekstra besar menggunakan kelas kisi yang telah ditentukan sebelumnya. Kolom tersebut dipusatkan di halaman dengan induknya .container
.
Mengurainya, begini cara kerjanya:
- Wadah menyediakan sarana untuk memusatkan dan memuat konten situs Anda secara horizontal. Gunakan
.container
untuk lebar piksel responsif atau.container-fluid
untukwidth: 100%
semua area pandang dan ukuran perangkat. - Baris adalah pembungkus untuk kolom. Setiap kolom memiliki horizontal
padding
(disebut talang) untuk mengontrol ruang di antara mereka. Inipadding
kemudian dilawan pada baris dengan margin negatif. Dengan cara ini, semua konten di kolom Anda disejajarkan secara visual di sisi kiri. - Dalam tata letak kisi, konten harus ditempatkan di dalam kolom dan hanya kolom yang boleh menjadi turunan langsung dari baris.
- Berkat flexbox, kolom kisi tanpa spesifikasi
width
akan secara otomatis ditata sebagai kolom dengan lebar yang sama. Misalnya, empat instance.col-sm
masing-masing akan secara otomatis memiliki lebar 25% dari breakpoint kecil ke atas. Lihat bagian kolom tata letak otomatis untuk contoh lainnya. - Kelas kolom menunjukkan jumlah kolom yang ingin Anda gunakan dari kemungkinan 12 per baris. Jadi, jika Anda ingin tiga kolom dengan lebar yang sama, Anda dapat menggunakan
.col-4
. - Kolom
width
s diatur dalam persentase, sehingga selalu cair dan berukuran relatif terhadap elemen induknya. - Kolom memiliki horizontal
padding
untuk membuat talang di antara kolom individual, namun, Anda dapat menghapusmargin
dari baris danpadding
dari kolom dengan.no-gutters
di.row
. - Untuk membuat grid responsif, ada lima breakpoint grid, satu untuk setiap breakpoint responsif : semua breakpoint (ekstra kecil), kecil, sedang, besar, dan ekstra besar.
- Titik henti sementara kisi didasarkan pada kueri media dengan lebar minimum, yang berarti titik henti tersebut berlaku untuk satu titik henti sementara tersebut dan semua yang ada di atasnya (misalnya,
.col-sm-4
berlaku untuk perangkat kecil, sedang, besar, dan ekstra besar, tetapi bukan titikxs
henti sementara pertama). - Anda dapat menggunakan kelas kisi yang telah ditentukan sebelumnya (seperti
.col-4
) atau mixin Sass untuk markup semantik yang lebih banyak.
Waspadai keterbatasan dan bug di sekitar flexbox , seperti ketidakmampuan untuk menggunakan beberapa elemen HTML sebagai wadah fleksibel .
Opsi kisi
Sementara Bootstrap menggunakan em
s atau rem
s untuk mendefinisikan sebagian besar ukuran, px
s digunakan untuk breakpoint grid dan lebar kontainer. Ini karena lebar viewport dalam piksel dan tidak berubah dengan ukuran font .
Lihat bagaimana aspek sistem grid Bootstrap bekerja di beberapa perangkat dengan tabel praktis.
Ekstra kecil <576px |
Kecil 576px |
Sedang 768px |
Besar 992px |
Ekstra besar 1200px |
|
---|---|---|---|---|---|
Lebar kontainer maks | Tidak ada (otomatis) | 540px | 720px | 960px | 1140px |
Awalan kelas | .col- |
.col-sm- |
.col-md- |
.col-lg- |
.col-xl- |
# kolom | 12 | ||||
lebar selokan | 30px (15px di setiap sisi kolom) | ||||
Bersarang | Ya | ||||
Pemesanan kolom | Ya |
Kolom tata letak otomatis
Manfaatkan kelas kolom khusus breakpoint untuk ukuran kolom yang mudah tanpa kelas bernomor eksplisit seperti .col-sm-6
.
sama-lebar
Misalnya, berikut adalah dua tata letak kisi yang berlaku untuk setiap perangkat dan area pandang, dari xs
hingga xl
. Tambahkan sejumlah kelas tanpa unit untuk setiap breakpoint yang Anda butuhkan dan setiap kolom akan memiliki lebar yang sama.
Kolom dengan lebar yang sama dapat dipecah menjadi beberapa baris, tetapi ada bug Safari flexbox yang mencegahnya bekerja tanpa eksplisit flex-basis
atau border
. Ada solusi untuk versi browser yang lebih lama, tetapi seharusnya tidak diperlukan jika Anda mutakhir.
Mengatur lebar satu kolom
Tata letak otomatis untuk kolom kisi flexbox juga berarti Anda dapat mengatur lebar satu kolom dan mengubah ukuran kolom saudara di sekitarnya secara otomatis. Anda dapat menggunakan kelas kisi yang telah ditentukan sebelumnya (seperti yang ditunjukkan di bawah), mixin kisi, atau lebar sebaris. Perhatikan bahwa kolom lain akan diubah ukurannya tidak peduli lebar kolom tengah.
Konten lebar variabel
Gunakan col-{breakpoint}-auto
kelas untuk mengukur kolom berdasarkan lebar alami kontennya.
Multi-baris dengan lebar yang sama
Buat kolom dengan lebar yang sama yang menjangkau beberapa baris dengan menyisipkan .w-100
tempat yang Anda inginkan untuk memisahkan kolom ke baris baru. Jadikan jeda responsif dengan mencampurnya .w-100
dengan beberapa utilitas tampilan responsif .
Kelas responsif
Kisi Bootstrap mencakup lima tingkatan kelas yang telah ditentukan sebelumnya untuk membangun tata letak responsif yang kompleks. Sesuaikan ukuran kolom Anda pada perangkat ekstra kecil, kecil, sedang, besar, atau ekstra besar sesuai keinginan Anda.
Semua breakpoint
Untuk kisi-kisi yang sama dari perangkat terkecil hingga terbesar, gunakan kelas .col
and .col-*
. Tentukan kelas bernomor saat Anda membutuhkan kolom berukuran khusus; jika tidak, jangan ragu untuk tetap berpegang pada .col
.
Ditumpuk menjadi horizontal
Dengan menggunakan satu set .col-sm-*
kelas, Anda dapat membuat sistem grid dasar yang mulai bertumpuk dan menjadi horizontal pada breakpoint kecil ( sm
).
Campur dan cocokkan
Tidak ingin kolom Anda hanya menumpuk di beberapa tingkatan kisi? Gunakan kombinasi kelas yang berbeda untuk setiap tingkatan sesuai kebutuhan. Lihat contoh di bawah untuk ide yang lebih baik tentang cara kerjanya.
Talang
Talang dapat disesuaikan secara responsif dengan bantalan khusus breakpoint dan kelas utilitas margin negatif. Untuk mengubah talang pada baris tertentu, pasangkan utilitas margin negatif pada .row
dan utilitas padding yang cocok pada .col
s. Orang tua .container
atau .container-fluid
mungkin perlu disesuaikan juga untuk menghindari luapan yang tidak diinginkan, menggunakan lagi utilitas padding yang cocok.
Berikut adalah contoh penyesuaian grid Bootstrap pada lg
breakpoint besar ( ) ke atas. Kami telah meningkatkan .col
padding dengan .px-lg-5
, menetralkannya dengan .mx-lg-n5
pada induknya .row
dan kemudian menyesuaikan .container
pembungkusnya dengan .px-lg-5
.
Penyelarasan
Gunakan utilitas perataan flexbox untuk menyelaraskan kolom secara vertikal dan horizontal. Internet Explorer 10-11 tidak mendukung perataan vertikal item fleksibel ketika wadah fleksibel memiliki min-height
seperti yang ditunjukkan di bawah ini. Lihat Flexbugs #3 untuk detail selengkapnya.
Perataan vertikal
Perataan horizontal
Tidak ada selokan
Talang antar kolom di kelas kisi yang telah ditentukan sebelumnya dapat dihapus dengan .no-gutters
. Ini menghilangkan margin
s negatif dari .row
dan horizontal padding
dari semua kolom turunan langsung.
Berikut kode sumber untuk membuat gaya ini. Perhatikan bahwa penggantian kolom dicakup hanya untuk kolom turunan pertama dan ditargetkan melalui pemilih atribut . Meskipun ini menghasilkan pemilih yang lebih spesifik, pengisi kolom masih dapat disesuaikan lebih lanjut dengan utilitas spasi .
Butuh desain ujung-ke-ujung? Jatuhkan orang tua .container
atau .container-fluid
.
Dalam praktiknya, inilah tampilannya. Perhatikan bahwa Anda dapat terus menggunakan ini dengan semua kelas kisi yang telah ditentukan sebelumnya (termasuk lebar kolom, tingkat responsif, pengurutan ulang, dan lainnya).
Pembungkus kolom
Jika lebih dari 12 kolom ditempatkan dalam satu baris, setiap kelompok kolom tambahan akan, sebagai satu unit, membungkus ke baris baru.
Sejak 9 + 4 = 13 > 12, div lebar 4-kolom ini dibungkus ke baris baru sebagai satu unit yang berdekatan.
Kolom berikutnya berlanjut di sepanjang baris baru.
Istirahat kolom
Memutus kolom ke baris baru di flexbox memerlukan sedikit peretasan: tambahkan elemen di width: 100%
mana pun Anda ingin membungkus kolom ke baris baru. Biasanya ini dilakukan dengan beberapa .row
s, tetapi tidak setiap metode implementasi dapat menjelaskan hal ini.
You may also apply this break at specific breakpoints with our responsive display utilities.
Reordering
Order classes
Use .order-
classes for controlling the visual order of your content. These classes are responsive, so you can set the order
by breakpoint (e.g., .order-1.order-md-2
). Includes support for 1
through 12
across all five grid tiers.
There are also responsive .order-first
and .order-last
classes that change the order
of an element by applying order: -1
and order: 13
(order: $columns + 1
), respectively. These classes can also be intermixed with the numbered .order-*
classes as needed.
Offsetting columns
You can offset grid columns in two ways: our responsive .offset-
grid classes and our margin utilities. Grid classes are sized to match columns while margins are more useful for quick layouts where the width of the offset is variable.
Offset classes
Move columns to the right using .offset-md-*
classes. These classes increase the left margin of a column by *
columns. For example, .offset-md-4
moves .col-md-4
over four columns.
In addition to column clearing at responsive breakpoints, you may need to reset offsets. See this in action in the grid example.
Margin utilities
With the move to flexbox in v4, you can use margin utilities like .mr-auto
to force sibling columns away from one another.
Nesting
To nest your content with the default grid, add a new .row
and set of .col-sm-*
columns within an existing .col-sm-*
column. Nested rows should include a set of columns that add up to 12 or fewer (it is not required that you use all 12 available columns).
Sass mixins
When using Bootstrap’s source Sass files, you have the option of using Sass variables and mixins to create custom, semantic, and responsive page layouts. Our predefined grid classes use these same variables and mixins to provide a whole suite of ready-to-use classes for fast responsive layouts.
Variables
Variables and maps determine the number of columns, the gutter width, and the media query point at which to begin floating columns. We use these to generate the predefined grid classes documented above, as well as for the custom mixins listed below.
Mixins
Mixins are used in conjunction with the grid variables to generate semantic CSS for individual grid columns.
Example usage
You can modify the variables to your own custom values, or just use the mixins with their default values. Here’s an example of using the default settings to create a two-column layout with a gap between.
Customizing the grid
Using our built-in grid Sass variables and maps, it’s possible to completely customize the predefined grid classes. Change the number of tiers, the media query dimensions, and the container widths—then recompile.
Columns and gutters
Jumlah kolom grid dapat dimodifikasi melalui variabel Sass. $grid-columns
digunakan untuk menghasilkan lebar (dalam persen) dari setiap kolom individu sambil $grid-gutter-width
mengatur lebar untuk talang kolom.
Tingkat jaringan
Bergerak di luar kolom itu sendiri, Anda juga dapat menyesuaikan jumlah tingkat kisi. Jika Anda hanya menginginkan empat tingkat kisi, Anda akan memperbarui $grid-breakpoints
dan $container-max-widths
menjadi seperti ini:
Saat membuat perubahan apa pun pada variabel atau peta Sass, Anda harus menyimpan perubahan dan mengkompilasi ulang. Melakukannya akan menampilkan serangkaian kelas kisi yang telah ditentukan sebelumnya untuk lebar kolom, offset, dan pemesanan. Utilitas visibilitas responsif juga akan diperbarui untuk menggunakan breakpoint kustom. Pastikan untuk menyetel nilai kisi di px
(bukan rem
, em
, atau %
).