लेआउट
हाम्रो फारम लेआउट विकल्पहरूको साथ-साथ आफ्नो फारमहरूलाई केही संरचना दिनुहोस्—इनलाइनदेखि तेर्सोसम्म अनुकूलन ग्रिड कार्यान्वयनसम्म।
फारमहरू
फारम क्षेत्रहरूको प्रत्येक समूह एक <form>
तत्वमा रहनु पर्छ। बुटस्ट्र्यापले तत्वको लागि कुनै पूर्वनिर्धारित स्टाइल प्रदान गर्दैन <form>
, तर त्यहाँ केही शक्तिशाली ब्राउजर सुविधाहरू छन् जुन पूर्वनिर्धारित रूपमा प्रदान गरिन्छ।
- ब्राउजर फारमहरूमा नयाँ? एक सिंहावलोकन र उपलब्ध विशेषताहरूको पूर्ण सूचीको लागि MDN फारम कागजातहरू समीक्षा गर्ने विचार गर्नुहोस् ।
<button>
<form>
मा पूर्वनिर्धारित भित्र छtype="submit"
, त्यसैले विशिष्ट हुन प्रयास गर्नुहोस् र सधैं एक समावेश गर्नुहोस्type
।
बुटस्ट्र्याप लागू हुने 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 राख्न अनुमति दिन्छ .row
। तिनीहरूले उपलब्ध चौडाइलाई तिनीहरूको बीचमा समान रूपमा विभाजित गर्नेछन्। तपाईले आफ्नो स्तम्भहरूको सबसेट पनि कम वा कम ठाउँ लिनको लागि छनोट गर्न सक्नुहुन्छ, जबकि बाँकी .col
हरू समान रूपमा विभाजित हुन्छन्, विशिष्ट स्तम्भ वर्गहरू जस्तै .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-check
राम्रोसँग बनाउँछ।
<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>