Susun atur
Berikan borang anda beberapa struktur—daripada sebaris hingga mendatar kepada pelaksanaan grid tersuai—dengan pilihan susun atur borang kami.
Borang
Setiap kumpulan medan borang hendaklah berada dalam <form>
elemen. Bootstrap tidak menyediakan penggayaan lalai untuk <form>
elemen, tetapi terdapat beberapa ciri penyemak imbas berkuasa yang disediakan secara lalai.
- Baru menggunakan borang penyemak imbas? Pertimbangkan untuk menyemak dokumen borang MDN untuk mendapatkan gambaran keseluruhan dan senarai lengkap atribut yang tersedia.
<button>
s dalam<form>
lalai kepadatype="submit"
, jadi berusaha untuk menjadi khusus dan sentiasa sertakan atype
.- Anda boleh melumpuhkan setiap elemen borang dalam borang dengan
disabled
atribut pada<form>
.
Memandangkan Bootstrap terpakai display: block
dan width: 100%
pada hampir semua kawalan borang kami, secara lalai borang akan disusun secara menegak. Kelas tambahan boleh digunakan untuk mengubah susun atur ini mengikut asas per-bentuk.
Utiliti
Utiliti margin ialah cara paling mudah untuk menambah beberapa struktur pada borang. Mereka menyediakan kumpulan asas label, kawalan, teks borang pilihan dan pemesejan pengesahan borang. Kami mengesyorkan agar anda margin-bottom
menggunakan utiliti dan menggunakan satu arah sepanjang borang untuk konsistensi.
Jangan ragu untuk membina borang anda walau bagaimanapun anda suka, dengan <fieldset>
s, <div>
s, atau hampir mana-mana elemen lain.
<div class="mb-3">
<label for="formGroupExampleInput" class="form-label">Example label</label>
<input type="text" class="form-control" id="formGroupExampleInput" placeholder="Example input placeholder">
</div>
<div class="mb-3">
<label for="formGroupExampleInput2" class="form-label">Another label</label>
<input type="text" class="form-control" id="formGroupExampleInput2" placeholder="Another input placeholder">
</div>
Borang grid
Borang yang lebih kompleks boleh dibina menggunakan kelas grid kami. Gunakan ini untuk reka letak borang yang memerlukan berbilang lajur, lebar yang berbeza-beza dan pilihan penjajaran tambahan. Memerlukan $enable-grid-classes
pembolehubah Sass untuk didayakan (dihidupkan secara lalai).
<div class="row">
<div class="col">
<input type="text" class="form-control" placeholder="First name" aria-label="First name">
</div>
<div class="col">
<input type="text" class="form-control" placeholder="Last name" aria-label="Last name">
</div>
</div>
longkang
Dengan menambahkan kelas pengubah suai longkang , anda boleh mempunyai kawalan ke atas lebar longkang dalam serta sebaris sebagai arah blok. Juga memerlukan $enable-grid-classes
pembolehubah Sass didayakan (dihidupkan secara lalai).
<div class="row g-3">
<div class="col">
<input type="text" class="form-control" placeholder="First name" aria-label="First name">
</div>
<div class="col">
<input type="text" class="form-control" placeholder="Last name" aria-label="Last name">
</div>
</div>
Reka letak yang lebih kompleks juga boleh dibuat dengan sistem grid.
<form class="row g-3">
<div class="col-md-6">
<label for="inputEmail4" class="form-label">Email</label>
<input type="email" class="form-control" id="inputEmail4">
</div>
<div class="col-md-6">
<label for="inputPassword4" class="form-label">Password</label>
<input type="password" class="form-control" id="inputPassword4">
</div>
<div class="col-12">
<label for="inputAddress" class="form-label">Address</label>
<input type="text" class="form-control" id="inputAddress" placeholder="1234 Main St">
</div>
<div class="col-12">
<label for="inputAddress2" class="form-label">Address 2</label>
<input type="text" class="form-control" id="inputAddress2" placeholder="Apartment, studio, or floor">
</div>
<div class="col-md-6">
<label for="inputCity" class="form-label">City</label>
<input type="text" class="form-control" id="inputCity">
</div>
<div class="col-md-4">
<label for="inputState" class="form-label">State</label>
<select id="inputState" class="form-select">
<option selected>Choose...</option>
<option>...</option>
</select>
</div>
<div class="col-md-2">
<label for="inputZip" class="form-label">Zip</label>
<input type="text" class="form-control" id="inputZip">
</div>
<div class="col-12">
<div class="form-check">
<input class="form-check-input" type="checkbox" id="gridCheck">
<label class="form-check-label" for="gridCheck">
Check me out
</label>
</div>
</div>
<div class="col-12">
<button type="submit" class="btn btn-primary">Sign in</button>
</div>
</form>
Bentuk mendatar
Buat borang mendatar dengan grid dengan menambahkan .row
kelas untuk membentuk kumpulan dan menggunakan .col-*-*
kelas untuk menentukan lebar label dan kawalan anda. Pastikan anda menambah s .col-form-label
anda <label>
juga supaya ia berpusat secara menegak dengan kawalan borang yang berkaitan.
Kadangkala, anda mungkin perlu menggunakan utiliti margin atau padding untuk mencipta penjajaran sempurna yang anda perlukan. Sebagai contoh, kami telah mengalih keluar padding-top
label input radio bertindan kami untuk menjajarkan garis dasar teks dengan lebih baik.
<form>
<div class="row mb-3">
<label for="inputEmail3" class="col-sm-2 col-form-label">Email</label>
<div class="col-sm-10">
<input type="email" class="form-control" id="inputEmail3">
</div>
</div>
<div class="row mb-3">
<label for="inputPassword3" class="col-sm-2 col-form-label">Password</label>
<div class="col-sm-10">
<input type="password" class="form-control" id="inputPassword3">
</div>
</div>
<fieldset class="row mb-3">
<legend class="col-form-label col-sm-2 pt-0">Radios</legend>
<div class="col-sm-10">
<div class="form-check">
<input class="form-check-input" type="radio" name="gridRadios" id="gridRadios1" value="option1" checked>
<label class="form-check-label" for="gridRadios1">
First radio
</label>
</div>
<div class="form-check">
<input class="form-check-input" type="radio" name="gridRadios" id="gridRadios2" value="option2">
<label class="form-check-label" for="gridRadios2">
Second radio
</label>
</div>
<div class="form-check disabled">
<input class="form-check-input" type="radio" name="gridRadios" id="gridRadios3" value="option3" disabled>
<label class="form-check-label" for="gridRadios3">
Third disabled radio
</label>
</div>
</div>
</fieldset>
<div class="row mb-3">
<div class="col-sm-10 offset-sm-2">
<div class="form-check">
<input class="form-check-input" type="checkbox" id="gridCheck1">
<label class="form-check-label" for="gridCheck1">
Example checkbox
</label>
</div>
</div>
</div>
<button type="submit" class="btn btn-primary">Sign in</button>
</form>
Saiz label bentuk mendatar
Pastikan anda menggunakan .col-form-label-sm
atau .col-form-label-lg
ke <label>
s atau <legend>
s anda untuk mengikut saiz .form-control-lg
dan .form-control-sm
.
<div class="row mb-3">
<label for="colFormLabelSm" 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="colFormLabelSm" placeholder="col-form-label-sm">
</div>
</div>
<div class="row mb-3">
<label for="colFormLabel" class="col-sm-2 col-form-label">Email</label>
<div class="col-sm-10">
<input type="email" class="form-control" id="colFormLabel" placeholder="col-form-label">
</div>
</div>
<div class="row">
<label for="colFormLabelLg" class="col-sm-2 col-form-label col-form-label-lg">Email</label>
<div class="col-sm-10">
<input type="email" class="form-control form-control-lg" id="colFormLabelLg" placeholder="col-form-label-lg">
</div>
</div>
Saiz lajur
Seperti yang ditunjukkan dalam contoh sebelumnya, sistem grid kami membenarkan anda meletakkan sebarang nombor .col
s dalam .row
. Mereka akan membahagikan lebar yang tersedia sama rata antara mereka. Anda juga boleh memilih subset lajur anda untuk menggunakan lebih atau kurang ruang, manakala .col
s selebihnya membahagikan yang lain, dengan kelas lajur tertentu seperti .col-sm-7
.
<div class="row g-3">
<div class="col-sm-7">
<input type="text" class="form-control" placeholder="City" aria-label="City">
</div>
<div class="col-sm">
<input type="text" class="form-control" placeholder="State" aria-label="State">
</div>
<div class="col-sm">
<input type="text" class="form-control" placeholder="Zip" aria-label="Zip">
</div>
</div>
Auto-saiz
Contoh di bawah menggunakan utiliti flexbox untuk memusatkan kandungan secara menegak dan mengubahnya .col
supaya .col-auto
lajur anda hanya menggunakan ruang sebanyak yang diperlukan. Dengan kata lain, saiz lajur itu sendiri berdasarkan kandungannya.
<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="autoSizingInputGroup">Username</label>
<div class="input-group">
<div class="input-group-text">@</div>
<input type="text" class="form-control" id="autoSizingInputGroup" placeholder="Username">
</div>
</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>
Anda kemudian boleh mengadun semula itu sekali lagi dengan kelas lajur khusus saiz.
<form class="row gx-3 gy-2 align-items-center">
<div class="col-sm-3">
<label class="visually-hidden" for="specificSizeInputName">Name</label>
<input type="text" class="form-control" id="specificSizeInputName" placeholder="Jane Doe">
</div>
<div class="col-sm-3">
<label class="visually-hidden" for="specificSizeInputGroupUsername">Username</label>
<div class="input-group">
<div class="input-group-text">@</div>
<input type="text" class="form-control" id="specificSizeInputGroupUsername" placeholder="Username">
</div>
</div>
<div class="col-sm-3">
<label class="visually-hidden" for="specificSizeSelect">Preference</label>
<select class="form-select" id="specificSizeSelect">
<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="autoSizingCheck2">
<label class="form-check-label" for="autoSizingCheck2">
Remember me
</label>
</div>
</div>
<div class="col-auto">
<button type="submit" class="btn btn-primary">Submit</button>
</div>
</form>
Borang sebaris
Gunakan .row-cols-*
kelas untuk membuat reka letak mendatar responsif. Dengan menambahkan kelas pengubah suai longkang , kami akan mempunyai longkang dalam arah mendatar dan menegak. Pada port pandangan mudah alih yang sempit, ia .col-12
membantu menyusun kawalan borang dan banyak lagi. Menjajarkan .align-items-center
elemen bentuk ke tengah, menjadikan .form-checkbox
penjajaran dengan betul.
<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>