Bootstrap - Tata Letak Form: Panduan untuk Pemula

Hai teman-teman pengembang web yang bersemangat! Saya sangat senang menjadi panduan Anda dalam perjalanan menarik ini ke dunia Tata Letak Form Bootstrap. Sebagai orang yang telah mengajar ilmu komputer selama lebih dari satu dekade, saya telah melihat banyak siswa yang menjadi semakin bersemangat saat mereka menyadari betapa kuat dan mudah digunakan Bootstrap dapat menjadi. Jadi, mari kita masuk dan buka rahasia membuat form yang indah dan responsif!

Bootstrap - Layout

Tata Letak Dasar

Sebelum kita mulai mengode, mari kita bayangkan bahwa kita adalah arsitek yang merancang sebuah rumah. Seperti rumah yang memerlukan dasar dan struktur yang kuat, form kita juga memerlukan tata letak yang terencana. Bootstrap menyediakan kita dengan alat untuk membuat tata letak ini secara efisien dan indah.

Kontainer: Dasar Form

Setiap form yang bagus dimulai dengan kontainer. Dalam Bootstrap, kita menggunakan kelas container untuk membuat kontainer lebar tetap responsif. Berikut adalah contoh sederhana:

<div class="container">
<form>
<!-- Elemen form akan ditempatkan di sini -->
</form>
</div>

Kontainer ini mirip dengan tanah yang kita gunakan untuk membangun rumah. Ini memberikan form kita ruang yang tentu untuk berada dan membantu dengan responsifitas di berbagai ukuran layar.

Utilitas: pisau multifungsi Tata Letak Form

Utilitas Bootstrap mirip dengan alat multifungsi desain web. Mereka adalah kelas kecil yang kuat yang dapat secara cepat menyelesaikan masalah tata letak umum. mari kita lihat beberapa utilitas penting untuk tata letak form:

Utilitas Spacing

Utilitas spacing membantu kita menambahkan margin dan padding ke elemen form kita. Berikut adalah tabel referensi cepat:

Kelas Utilitas Tujuan
m-* Menambahkan margin
p-* Menambahkan padding
mt-*, mb-*, ms-*, me-* Menambahkan margin ke atas, ke bawah, ke kiri, ke kanan
pt-*, pb-*, ps-*, pe-* Menambahkan padding ke atas, ke bawah, ke kiri, ke kanan

mari kita lihat contohnya:

<form>
<div class="mb-3">
<label for="name" class="form-label">Name</label>
<input type="text" class="form-control" id="name">
</div>
<div class="mb-3">
<label for="email" class="form-label">Email</label>
<input type="email" class="form-control" id="email">
</div>
</form>

Dalam contoh ini, mb-3 menambahkan margin ke bawah setiap kelompok form, memberikan elemen kita sedikit ruang untuk bernapas.

Grid Form: Membangun Struktur

Sekarang kita memiliki dasar dan alat, mari kita mulai membangun struktur form kita menggunakan sistem grid Bootstrap. Sistem grid ini didasarkan pada layout 12 kolom, yang kita dapat gunakan untuk membuat desain yang responsif.

Tata Letak Grid Dasar

Berikut adalah contoh tata letak form grid sederhana:

<form>
<div class="row">
<div class="col-md-6">
<label for="firstName" class="form-label">First Name</label>
<input type="text" class="form-control" id="firstName">
</div>
<div class="col-md-6">
<label for="lastName" class="form-label">Last Name</label>
<input type="text" class="form-control" id="lastName">
</div>
</div>
</form>

Dalam contoh ini, kita menggunakan row untuk membuat kelompok kolom horisontal, dan col-md-6 untuk menentukan bahwa setiap kolom harus mengambil setengah lebar pada layar berukuran medium dan lebih besar.

Gutters: Memberikan Ruang Nafas ke Form

Gutters adalah ruang antara kolom dalam sistem grid kita. Secara default, Bootstrap menambahkan margin negatif ke baris dan padding ke kolom untuk menciptakan gutters ini. Namun, kita dapat mengatur mereka menggunakan kelas gutters.

Berikut adalah contoh dengan gutters khusus:

<form>
<div class="row g-3">
<div class="col-md-6">
<label for="firstName" class="form-label">First Name</label>
<input type="text" class="form-control" id="firstName">
</div>
<div class="col-md-6">
<label for="lastName" class="form-label">Last Name</label>
<input type="text" class="form-control" id="lastName">
</div>
</div>
</form>

Kelas g-3 menambahkan gutters sebesar 3 (1rem) antara kolom, memberikan form kita sedikit ruang untuk bernapas.

Form Horisontal: Perspektif yang Berbeda

kadang-kadang, kita ingin label kita berada di samping input kita. Ini adalah tempat form horisontal berguna. mari kita buat satu:

<form>
<div class="row mb-3">
<label for="email" class="col-sm-2 col-form-label">Email</label>
<div class="col-sm-10">
<input type="email" class="form-control" id="email">
</div>
</div>
<div class="row mb-3">
<label for="password" class="col-sm-2 col-form-label">Password</label>
<div class="col-sm-10">
<input type="password" class="form-control" id="password">
</div>
</div>
</form>

Dalam contoh ini, kita menggunakan col-sm-2 untuk label dan col-sm-10 untuk input, menciptakan tata letak horisontal yang bagus pada layar berukuran kecil dan lebih besar.

Ukuran Label Form Horisontal: Menemukan Fit yang Tepat

kadang-kadang, kita perlu mengatur ukuran label dalam form horisontal. Bootstrap membuat ini mudah dengan kelas ukuran. Berikut adalah cara kita dapat membuat form dengan ukuran label berbeda:

<form>
<div class="row mb-3">
<label for="email" class="col-sm-2 col-form-label col-form-label-sm">Email</label>
<div class="col-sm-10">
<input type="email" class="form-control form-control-sm" id="email">
</div>
</div>
<div class="row mb-3">
<label for="name" class="col-sm-2 col-form-label">Name</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="name">
</div>
</div>
<div class="row mb-3">
<label for="message" class="col-sm-2 col-form-label col-form-label-lg">Message</label>
<div class="col-sm-10">
<input type="text" class="form-control form-control-lg" id="message">
</div>
</div>
</form>

Di sini, kita menggunakan col-form-label-sm, col-form-label, dan col-form-label-lg untuk membuat ukuran label kecil, default, dan besar secara berurutan.

Ukuran Kolom: Menyesuaikan Form

Sistem grid Bootstrap memungkinkan kita untuk menentukan ukuran kolom yang tepat. Ini sangat berguna saat kita memerlukan kontrol tepat atas tata letak form kita. Berikut adalah contoh:

<form>
<div class="row">
<div class="col-2">
<input type="text" class="form-control" placeholder="City">
</div>
<div class="col-3">
<input type="text" class="form-control" placeholder="State">
</div>
<div class="col-7">
<input type="text" class="form-control" placeholder="Zip">
</div>
</div>
</form>

Dalam contoh ini, kita menggunakan col-2, col-3, dan col-7 untuk membuat form baris di mana input mengambil portion tertentu dari lebar yang tersedia.

Autosizing: Biarkan Bootstrap Melakukan Matematika

kadang-kadang, kita ingin input form kita secara otomatis menyesuaikan ukuran berdasarkan kontennya. Fitur autosizing Bootstrap membuat ini dimungkinkan. Berikut adalah cara ia bekerja:

<form class="row gy-2 gx-3 align-items-center">
<div class="col-auto">
<label class="visually-hidden" for="autoSizingInput">Name</label>
<input type="text" class="form-control" id="autoSizingInput" placeholder="Jane Doe">
</div>
<div class="col-auto">
<label class="visually-hidden" for="autoSizingSelect">Preference</label>
<select class="form-select" id="autoSizingSelect">
<option selected>Choose...</option>
<option value="1">One</option>
<option value="2">Two</option>
<option value="3">Three</option>
</select>
</div>
<div class="col-auto">
<div class="form-check">
<input class="form-check-input" type="checkbox" id="autoSizingCheck">
<label class="form-check-label" for="autoSizingCheck">
Remember me
</label>
</div>
</div>
<div class="col-auto">
<button type="submit" class="btn btn-primary">Submit</button>
</div>
</form>

Dalam contoh ini, kelas col-auto memungkinkan setiap kolom untuk menyesuaikan ukurannya berdasarkan kontennya. Kelas gy-2 dan gx-3 menambahkan gutters vertikal dan horisontal, sedangkan align-items-center memusatkan konten secara vertikal di dalam setiap kolom.

Contoh Komplit: Menggabungkan Semua

Sekarang kita telah menelusuri semua konsep ini, mari kita gabungkannya dalam form yang lebih kompleks:

<div class="container">
<form class="mt-4">
<div class="row mb-3">
<div class="col-md-6">
<label for="firstName" class="form-label">First Name</label>
<input type="text" class="form-control" id="firstName">
</div>
<div class="col-md-6">
<label for="lastName" class="form-label">Last Name</label>
<input type="text" class="form-control" id="lastName">
</div>
</div>
<div class="row mb-3">
<div class="col-md-8">
<label for="email" class="form-label">Email</label>
<input type="email" class="form-control" id="email">
</div>
<div class="col-md-4">
<label for="phone" class="form-label">Phone</label>
<input type="tel" class="form-control" id="phone">
</div>
</div>
<div class="row mb-3">
<div class="col-md-6">
<label for="address" class="form-label">Address</label>
<input type="text" class="form-control" id="address">
</div>
<div class="col-md-3">
<label for="city" class="form-label">City</label>
<input type="text" class="form-control" id="city">
</div>
<div class="col-md-3">
<label for="zip" class="form-label">Zip Code</label>
<input type="text" class="form-control" id="zip">
</div>
</div>
<div class="row mb-3">
<div class="col-12">
<label for="message" class="form-label">Message</label>
<textarea class="form-control" id="message" rows="3"></textarea>
</div>
</div>
<div class="row">
<div class="col-12">
<button type="submit" class="btn btn-primary">Submit</button>
</div>
</div>
</form>
</div>

Contoh ini menggabungkan banyak konsep yang kita diskusikan: kontainer, grid layout, gutters, dan desain responsif. Ini menciptakan form yang terlihat bagus pada baik desktop maupun perangkat mobile.

Form Inline: Ringkas dan Efisien

Untuk form yang lebih sederhana atau saat ruang terbatas, form inline dapat menjadi solusi yang bagus. mari kita buat satu:

<form class="row row-cols-lg-auto g-3 align-items-center">
<div class="col-12">
<label class="visually-hidden" for="inlineFormInputGroupUsername">Username</label>
<div class="input-group">
<div class="input-group-text">@</div>
<input type="text" class="form-control" id="inlineFormInputGroupUsername" placeholder="Username">
</div>
</div>

<div class="col-12">
<label class="visually-hidden" for="inlineFormSelectPref">Preference</label>
<select class="form-select" id="inlineFormSelectPref">
<option selected>Choose...</option>
<option value="1">One</option>
<option value="2">Two</option>
<option value="3">Three</option>
</select>
</div>

<div class="col-12">
<div class="form-check">
<input class="form-check-input" type="checkbox" id="inlineFormCheck">
<label class="form-check-label" for="inlineFormCheck">
Remember me
</label>
</div>
</div>

<div class="col-12">
<button type="submit" class="btn btn-primary">Submit</button>
</div>
</form>

Form inline ini menggunakan row-cols-lg-auto untuk secara otomatis menyesuaikan kolom pada layar berukuran besar, menciptakan layout kompak dan horisontal.

Dan itu adalah nya, teman-teman! Kita telah menjelajahi dunia Tata Letak Form Bootstrap, dari konsep dasar hingga teknik lanjut. Ingat, latihan membuat Anda menjadi sempurna, jadi jangan khawatir untuk mencoba dan membuat layout Anda sendiri. Selamat mengkode, dan semoga form Anda selalu responsif dan ramah pengguna!

Credits: Image by storyset