Tutorial Bootstrap - Memahami Sistem Grid Untuk Membuat Layout
Tutorial Bootstrap - Memahami Sistem Grid Untuk Membuat Layout
#CSS#Bootstrap#Framework
Memahami Breakpoint
Breakpoint adalah ukuran lebar yang menentukan tampilan responsif
terhadap ukuran viewport perangkat tertentu. 1
Saat ini Bootstrap memiliki 6 ukuran Breakpoint, yakni none, sm, md, lg,
xl, dan xxl.
Perhatikan gambar berikut.
Ini adalah ukuran breakpoint sesuai dengan ukuran layar perangkat.
Ingat!
Bootstrap adalah framework yang menggunakan pendekatan mobile
first, jadi kita harus memikirkan tampilan di mobile terlebih dahulu
sebelum membuat tampilan untuk desktop.
Karena itu, nilai default breakpoint adalah none. Ukuran ini adalah
ukuran yang paling kecil, yakni sekitar 576px.
Contoh:
<div class="col-12">
<!-- ukuran kolom ini 12 -->
</div>
<div class="col-6">
<!-- ukuran kolom ini 6 -->
</div>
Pada contoh tersebut, kita memberikan ukuran kolom 12 dan 6 tanpa
menggunakan breakpoint.
Artinya:
Ukuran kolom tersebut akan tetap 12 dan 6 di semua ukuran layar.
Gimana kalau kita ingin mengubah, misalnya menjadi 8 pada layar
komputer dan tetap 12 pada layar HP.
Gampang!
Tinggal berikan breakpoint.
<div class="col-12 col-lg-8">
<!-- ukuran kolom ini 12 pada layar hp -->
<!-- ukuran kolom ini 8 pada layar komputer -->
</div>
<div class="col-6">
<!-- ukuran kolom ini 6 -->
</div>
Nah, sekarang ukurannya akan menjadi 8 di layar komputer.
Class Container
Container adalah fondasi dasar dari blok layout. Container berfungsi
untuk membungkus blok di dalamnya, sehingga terlihat rapi terhadap
ukuran layar.
Container juga memiliki breakpoint.
</div>
Class col berfungsi untuk membuat kolom. Class ini harus dibungkus
oleh class row agar menjadi grid.
Class col memiliki ukuran dan breakpoint. Ukuran paling panjang
adalah 12, dan ukuran paling pendek adalah 1.
Format penulisannya:
col-[breakpoint]-[ukuran]
Contoh penggunaan:
<div class="row">
<div class="col">
<!-- kolom 1 -->
</div>
<div class="col">
</div>
</div>
<div class="row">
<div class="col-md-12">
</div>
</div>
Class Gutter
Gutter adalah jarak antar kolom. Class Gutter ditulis bersamaan
dengan class row.
Format penulisannya menggunakan huruf g.
g-[breakpoint]-[ukuran]
gx-[breakpoint]-[ukuran]
gy-[breakpoint]-[ukuran]
Gutter punya ukuran mulai dari 0 sampai 5.
Class gx adalah Gutter untuk horizontal, sedangkan gy adalah Gutter
untuk vertikal. Jika hanya menggunakan g saja, maka artinya gutter
untuk horizontal dan vertikal.
Contoh:
<div class="row g-2">
<div class="col">
<div class="col">
</div>
</div>
Artinya, kita akan memberikan jarak Gutter untuk kolom sebesar 2.
Contoh lagi:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Contoh Gutter</title>
<link
href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/b
ootstrap.min.css" rel="stylesheet" integrity="sha384-
1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6j
IW3" crossorigin="anonymous">
<script
src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/boo
tstrap.bundle.min.js" integrity="sha384-
ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4
+1p" crossorigin="anonymous"></script>
</head>
<body>
<div class="container">
<div class="col-md-3">
<img class="w-100"
src="https://placeimg.com/150/150/nature" alt="gambar alam">
</div>
<div class="col-md-3">
<img class="w-100"
src="https://placeimg.com/150/150/nature" alt="gambar alam">
</div>
<div class="col-md-3">
<img class="w-100"
src="https://placeimg.com/150/150/nature" alt="gambar alam">
</div>
<div class="col-md-3">
<img class="w-100"
src="https://placeimg.com/150/150/nature" alt="gambar alam">
</div>
<div class="col-md-3">
<img class="w-100"
src="https://placeimg.com/150/150/nature" alt="gambar alam">
</div>
<div class="col-md-3">
<img class="w-100"
src="https://placeimg.com/150/150/nature" alt="gambar alam">
</div>
<div class="col-md-3">
<img class="w-100"
src="https://placeimg.com/150/150/nature" alt="gambar alam">
</div>
<div class="col-md-3">
<img class="w-100"
src="https://placeimg.com/150/150/nature" alt="gambar alam">
</div>
</div>
</div>
</body>
</html>
Pada contoh ini, kita memberikan nilai gutter 0, artinya tidak ada jarak
antar kolom.
Hasilnya:
Sekarang coba ubah g-0 menjadi g-5 untuk memberikan jarak sebesar
5.
Maka hasilnya:
<html lang="en">
<head>
<meta charset="UTF-8">
<script
src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/boo
tstrap.bundle.min.js" integrity="sha384-
ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4
+1p" crossorigin="anonymous"></script>
</head>
<body>
<div class="row">
</div>
</div>
</header>
<div class="row">
</div>
</div>
</main>
</div>
</div>
</footer>
</body>
</html>
Hasilnya:
Latihan: Layout 2 Kolom
Pada laithan kedua ini, kita akan membagi elemen artikel menjadi dua
kolom.
Kolom pertama untuk artikel dan kolom kedua untuk menampilkan
informasi lain seperti widget, iklan, dll.
Pada tampilan mobile, kita ingin layout dua kolom ini ditampilkan
dalam satu kolom, sedangkan pada desktop tetap ditampilkan dua
kolom.
Kira-kira desainnya seperti ini:
Baiklah..
Mari kita coba buat dengan Bootstrap.
Buatlah file baru dengan nama latihan-2-kolom.html, kemudian isi
dengan kode berikut.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<link
href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/b
ootstrap.min.css" rel="stylesheet" integrity="sha384-
1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6j
IW3" crossorigin="anonymous">
<script
src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/boo
tstrap.bundle.min.js" integrity="sha384-
ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4
+1p" crossorigin="anonymous"></script>
</head>
<body>
<div class="row">
<div class="col-12 py-4 text-center">
</div>
</div>
</header>
<div class="row">
</div>
</div>
</div>
</main>
<div class="row">
</div>
</div>
</footer>
</body>
</html>
Hasilnya:
Latihan: Layout 3 Kolom
Pada latihan ke-3 ini, kita akan membuat tiga kolom untuk tampilan di
komputer dan satu kolom di HP.
Berikut ini rancangan desainnya:
<html lang="en">
<head>
<meta charset="UTF-8">
<link
href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/b
ootstrap.min.css" rel="stylesheet" integrity="sha384-
1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6j
IW3" crossorigin="anonymous">
<script
src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/boo
tstrap.bundle.min.js" integrity="sha384-
ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4
+1p" crossorigin="anonymous"></script>
</head>
<body>
<div class="row">
</div>
</div>
</header>
<div class="row">
<div class="col-md-3">
</div>
<div class="col-md-6">
</div>
<div class="col-md-3">
</div>
</div>
</main>
<div class="row">
</div>
</div>
</footer>
</body>
</html>
Hasilnya:
Latihan: Layout 4 Kolom
Pada latihan ke-4 ini, kita akan membuat 4 kolom untuk menampilkan
galeri foto.
PC,Laptop, Tablet: 4 kolom
HP: 3 kolom.
Berikut ini desainnya:
Mari kita buat!
Buatlah file baru dengan nama contoh-4-kolom.html, kemudian isi
dengan kode berikut:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<script
src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/boo
tstrap.bundle.min.js" integrity="sha384-
ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4
+1p" crossorigin="anonymous"></script>
</head>
<body>
<div class="row">
</div>
</div>
</header>
<img class="w-100"
src="https://placeimg.com/150/150/nature/1" alt="gambar
alam">
</div>
<img class="w-100"
src="https://placeimg.com/150/150/nature/2" alt="gambar
alam">
</div>
<img class="w-100"
src="https://placeimg.com/150/150/nature/3" alt="gambar
alam">
</div>
<div class="col-6 col-md-3">
<img class="w-100"
src="https://placeimg.com/150/150/nature/4" alt="gambar
alam">
</div>
<img class="w-100"
src="https://placeimg.com/150/150/nature/5" alt="gambar
alam">
</div>
<img class="w-100"
src="https://placeimg.com/150/150/nature/6" alt="gambar
alam">
</div>
<img class="w-100"
src="https://placeimg.com/150/150/nature/7" alt="gambar
alam">
</div>
</div>
</div>
</main>
<div class="row">
</div>
</div>
</footer>
</body>
</html>
Hasilnya:
Latihan: Challenge!
Jika kamu sudah paham cara membuat layout di Bootstrap, coba
tantangan berikut.
Buatlah layout galeri yang mirip seperti layout instagram.