विन्यास
हमारे फ़ॉर्म लेआउट विकल्पों के साथ अपने प्रपत्रों को कुछ संरचना दें—इनलाइन से क्षैतिज से कस्टम ग्रिड कार्यान्वयन तक।
फार्म
<form>
प्रपत्र फ़ील्ड के प्रत्येक समूह को एक तत्व में रहना चाहिए । बूटस्ट्रैप <form>
तत्व के लिए कोई डिफ़ॉल्ट स्टाइल प्रदान नहीं करता है, लेकिन कुछ शक्तिशाली ब्राउज़र सुविधाएँ हैं जो डिफ़ॉल्ट रूप से प्रदान की जाती हैं।
- ब्राउज़र फ़ॉर्म में नए हैं? अवलोकन और उपलब्ध विशेषताओं की पूरी सूची के लिए एमडीएन फॉर्म डॉक्स की समीक्षा करने पर विचार करें ।
<button>
s एक<form>
डिफ़ॉल्ट के भीतर हैtype="submit"
, इसलिए विशिष्ट होने का प्रयास करें और हमेशा एक शामिल करेंtype
।- आप प्रत्येक प्रपत्र तत्व को किसी प्रपत्र में
disabled
विशेषता के साथ अक्षम कर सकते हैं<form>
।
चूंकि बूटस्ट्रैप लागू होता है display: block
और width: 100%
हमारे लगभग सभी फॉर्म नियंत्रणों पर, फॉर्म डिफ़ॉल्ट रूप से लंबवत रूप से ढेर हो जाएंगे। इस लेआउट को प्रति-फॉर्म के आधार पर बदलने के लिए अतिरिक्त कक्षाओं का उपयोग किया जा सकता है।
उपयोगिताओं
प्रपत्रों में कुछ संरचना जोड़ने के लिए मार्जिन उपयोगिताएँ सबसे आसान तरीका हैं। वे लेबल, नियंत्रण, वैकल्पिक प्रपत्र पाठ, और प्रपत्र सत्यापन संदेश का मूल समूहीकरण प्रदान करते हैं। हम अनुशंसा करते हैं कि उपयोगिताओं से चिपके margin-bottom
रहें, और स्थिरता के लिए पूरे फॉर्म में एक ही दिशा का उपयोग करें।
<fieldset>
s, <div>
s, या लगभग किसी अन्य तत्व के साथ अपने रूपों को बनाने के लिए स्वतंत्र महसूस करें ।
<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>
फॉर्म ग्रिड
हमारे ग्रिड वर्गों का उपयोग करके अधिक जटिल रूपों का निर्माण किया जा सकता है। इनका उपयोग उन प्रपत्र लेआउट के लिए करें जिनके लिए एकाधिक कॉलम, विविध चौड़ाई और अतिरिक्त संरेखण विकल्पों की आवश्यकता होती है। Sass चर को सक्षम करने की आवश्यकता है$enable-grid-classes
(डिफ़ॉल्ट रूप से चालू)।
<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>
गटर
गटर संशोधक वर्ग जोड़कर , आप ब्लॉक दिशा के साथ-साथ इनलाइन में भी गटर की चौड़ाई पर नियंत्रण रख सकते हैं। इसके अलावा $enable-grid-classes
Sass चर को सक्षम करने की आवश्यकता है (डिफ़ॉल्ट रूप से)।
<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>
ग्रिड सिस्टम के साथ अधिक जटिल लेआउट भी बनाए जा सकते हैं।
<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>
क्षैतिज रूप
.row
समूह बनाने के लिए वर्ग जोड़कर .col-*-*
और अपने लेबल और नियंत्रण की चौड़ाई निर्दिष्ट करने के लिए कक्षाओं का उपयोग करके ग्रिड के साथ क्षैतिज रूप बनाएं। .col-form-label
अपने s में भी जोड़ना सुनिश्चित करें <label>
ताकि वे अपने संबद्ध प्रपत्र नियंत्रणों के साथ लंबवत रूप से केंद्रित हों।
कभी-कभी, आपको आवश्यक सही संरेखण बनाने के लिए मार्जिन या पैडिंग उपयोगिताओं का उपयोग करने की आवश्यकता हो सकती है। उदाहरण के लिए, हमने padding-top
टेक्स्ट बेसलाइन को बेहतर ढंग से संरेखित करने के लिए अपने स्टैक्ड रेडियो इनपुट लेबल को हटा दिया है।
<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>
हॉरिजॉन्टल फॉर्म लेबल साइजिंग
और के आकार का सही ढंग से पालन करने के लिए .col-form-label-sm
या .col-form-label-lg
अपने <label>
s या s का उपयोग करना सुनिश्चित करें ।<legend>
.form-control-lg
.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>
कॉलम का आकार
जैसा कि पिछले उदाहरणों में दिखाया गया है, हमारा ग्रिड सिस्टम आपको किसी भी संख्या में .col
s को a के भीतर रखने की अनुमति देता है .row
। वे उपलब्ध चौड़ाई को उनके बीच समान रूप से विभाजित करेंगे। आप कम या ज्यादा जगह लेने के लिए अपने कॉलम का एक सबसेट भी चुन सकते हैं, जबकि शेष .col
s बाकी को समान रूप से विभाजित करते हैं, जैसे विशिष्ट कॉलम क्लासेस के साथ .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>
स्वतः-आकार
.col
नीचे दिया गया उदाहरण सामग्री और परिवर्तनों को लंबवत रूप से केंद्र में रखने के लिए फ्लेक्सबॉक्स उपयोगिता का उपयोग करता है .col-auto
ताकि आपके कॉलम केवल उतना ही स्थान ले सकें जितना आवश्यक हो। एक और तरीका रखो, सामग्री के आधार पर कॉलम का आकार स्वयं ही होता है।
<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>
फिर आप इसे एक बार फिर आकार-विशिष्ट कॉलम कक्षाओं के साथ रीमिक्स कर सकते हैं।
<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>
इनलाइन फॉर्म
.row-cols-*
उत्तरदायी क्षैतिज लेआउट बनाने के लिए कक्षाओं का उपयोग करें । गटर संशोधक वर्ग जोड़कर , हमारे पास क्षैतिज और लंबवत दिशाओं में गटर होंगे। संकीर्ण मोबाइल व्यूपोर्ट पर, .col-12
प्रपत्र नियंत्रणों को ढेर करने में मदद करता है और बहुत कुछ। प्रपत्र तत्वों को मध्य में संरेखित .align-items-center
करता है, जिससे .form-checkbox
संरेखण ठीक से हो जाता है।
<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>