विभिन्न प्रकार के प्रपत्र बनाने के लिए प्रपत्र नियंत्रण शैलियों, लेआउट विकल्पों और कस्टम घटकों के उदाहरण और उपयोग दिशानिर्देश।
अवलोकन
बूटस्ट्रैप के प्रपत्र नियंत्रण कक्षाओं के साथ हमारी रीबूट की गई प्रपत्र शैलियों पर विस्तृत होते हैं। ब्राउज़रों और उपकरणों में अधिक सुसंगत प्रतिपादन के लिए इन कक्षाओं का उपयोग उनके अनुकूलित डिस्प्ले में ऑप्ट इन करने के लिए करें।
ईमेल सत्यापन, संख्या चयन, आदि जैसे नए इनपुट नियंत्रणों का लाभ उठाने के लिए typeसभी इनपुट (जैसे, emailईमेल पते या संख्यात्मक जानकारी के लिए) पर एक उपयुक्त विशेषता का उपयोग करना सुनिश्चित करें ।number
यहां बूटस्ट्रैप की प्रपत्र शैलियों को प्रदर्शित करने के लिए एक त्वरित उदाहरण दिया गया है। आवश्यक कक्षाओं, प्रपत्र लेआउट, आदि पर दस्तावेज़ीकरण के लिए पढ़ते रहें।
प्रपत्र नियंत्रण
पाठ्य प्रपत्र नियंत्रण—जैसे <input>s, <select>s, और s—को वर्ग <textarea>के साथ स्टाइल किया जाता है । .form-controlसामान्य रूप, फ़ोकस स्थिति, आकार, और बहुत कुछ के लिए शैलियाँ शामिल हैं।
आगे की शैली के लिए हमारे कस्टम रूपों<select> का पता लगाना सुनिश्चित करें ।
फ़ाइल इनपुट के लिए, के .form-controlलिए स्वैप करें .form-control-file।
आकार
.form-control-lgऔर जैसी कक्षाओं का उपयोग करके ऊंचाई निर्धारित करें .form-control-sm।
केवल पढ़ने के लिए
readonlyइनपुट के मान में संशोधन को रोकने के लिए इनपुट पर बूलियन विशेषता जोड़ें । केवल-पढ़ने के लिए इनपुट हल्के दिखाई देते हैं (बिल्कुल अक्षम इनपुट की तरह), लेकिन मानक कर्सर बनाए रखें।
केवल पढ़ने के लिए सादा पाठ
यदि आप <input readonly>अपने प्रपत्र में तत्वों को सादे पाठ के रूप में स्टाइल करना चाहते हैं, .form-control-plaintextतो डिफ़ॉल्ट फॉर्म फ़ील्ड स्टाइल को हटाने और सही मार्जिन और पैडिंग को संरक्षित करने के लिए कक्षा का उपयोग करें।
रेंज इनपुट
का उपयोग करके क्षैतिज रूप से स्क्रॉल करने योग्य श्रेणी इनपुट सेट करें .form-control-range।
चेकबॉक्स और रेडियो
डिफ़ॉल्ट चेकबॉक्स और रेडियो की मदद से दोनों इनपुट प्रकारों के लिए एक एकल वर्ग की मदद से सुधार किया जाता है .form-checkजो उनके HTML तत्वों के लेआउट और व्यवहार को बेहतर बनाता है । चेकबॉक्स एक सूची में एक या कई विकल्प चुनने के लिए होते हैं, जबकि रेडियो कई विकल्पों में से एक विकल्प चुनने के लिए होते हैं।
अक्षम चेकबॉक्स और रेडियो समर्थित हैं। इनपुट की disabledस्थिति को इंगित करने में सहायता के लिए विशेषता हल्का रंग लागू करेगी।
चेकबॉक्स और रेडियो बटन HTML-आधारित प्रपत्र सत्यापन का समर्थन करते हैं और संक्षिप्त, सुलभ लेबल प्रदान करते हैं। जैसे, हमारे <input>s और <label>s सहोदर तत्व हैं, <input>जो a के भीतर के विपरीत हैं <label>। यह थोड़ा अधिक वर्बोज़ है क्योंकि आपको निर्दिष्ट करना होगा idऔर forविशेषताओं को और से संबंधित <input>करना होगा <label>।
डिफ़ॉल्ट (स्टैक्ड)
डिफ़ॉल्ट रूप से, जितने भी चेकबॉक्स और रेडियो तत्काल भाई-बहन हैं, उन्हें लंबवत रूप से स्टैक किया जाएगा और उचित रूप से .form-check.
इन - लाइन
चेकबॉक्स या रेडियो को एक ही क्षैतिज पंक्ति में .form-check-inlineकिसी भी .form-check.
लेबल के बिना
.position-staticउन इनपुट में जोड़ें .form-checkजिनमें कोई लेबल टेक्स्ट नहीं है। सहायक तकनीकों के लिए अभी भी कुछ प्रकार के लेबल प्रदान करना याद रखें (उदाहरण के लिए, का उपयोग करके aria-label)।
विन्यास
चूंकि बूटस्ट्रैप लागू होता है display: blockऔर width: 100%हमारे लगभग सभी फॉर्म नियंत्रणों पर, फॉर्म डिफ़ॉल्ट रूप से लंबवत रूप से ढेर हो जाएंगे। इस लेआउट को प्रति-फॉर्म के आधार पर बदलने के लिए अतिरिक्त कक्षाओं का उपयोग किया जा सकता है।
फॉर्म समूह
.form-groupरूपों में कुछ संरचना जोड़ने का वर्ग सबसे आसान तरीका है। यह एक लचीला वर्ग प्रदान करता है जो लेबल, नियंत्रण, वैकल्पिक सहायता पाठ और प्रपत्र सत्यापन संदेश के उचित समूहन को प्रोत्साहित करता है। डिफ़ॉल्ट रूप से यह केवल लागू होता है margin-bottom, लेकिन यह आवश्यकतानुसार अतिरिक्त शैलियों को चुनता है .form-inline। इसे <fieldset>s, <div>s, या लगभग किसी अन्य तत्व के साथ प्रयोग करें।
फॉर्म ग्रिड
हमारे ग्रिड वर्गों का उपयोग करके अधिक जटिल रूपों का निर्माण किया जा सकता है। इनका उपयोग उन प्रपत्र लेआउट के लिए करें जिनके लिए एकाधिक कॉलम, विविध चौड़ाई और अतिरिक्त संरेखण विकल्पों की आवश्यकता होती है।
प्रपत्र पंक्ति
.rowआप के लिए स्वैप भी कर सकते हैं .form-row, हमारी मानक ग्रिड पंक्ति का एक रूपांतर जो सख्त और अधिक कॉम्पैक्ट लेआउट के लिए डिफ़ॉल्ट कॉलम गटर को ओवरराइड करता है।
ग्रिड सिस्टम के साथ अधिक जटिल लेआउट भी बनाए जा सकते हैं।
क्षैतिज रूप
.rowसमूह बनाने के लिए वर्ग जोड़कर .col-*-*और अपने लेबल और नियंत्रण की चौड़ाई निर्दिष्ट करने के लिए कक्षाओं का उपयोग करके ग्रिड के साथ क्षैतिज रूप बनाएं। .col-form-labelअपने s में भी जोड़ना सुनिश्चित करें <label>ताकि वे अपने संबद्ध प्रपत्र नियंत्रणों के साथ लंबवत रूप से केंद्रित हों।
कभी-कभी, आपको आवश्यक सही संरेखण बनाने के लिए मार्जिन या पैडिंग उपयोगिताओं का उपयोग करने की आवश्यकता हो सकती है। उदाहरण के लिए, हमने padding-topटेक्स्ट बेसलाइन को बेहतर ढंग से संरेखित करने के लिए अपने स्टैक्ड रेडियो इनपुट लेबल को हटा दिया है।
हॉरिजॉन्टल फॉर्म लेबल साइजिंग
और के आकार का सही ढंग से पालन करने के लिए .col-form-label-smया .col-form-label-lgअपने <label>s या s का उपयोग करना सुनिश्चित करें ।<legend>.form-control-lg.form-control-sm
कॉलम का आकार
जैसा कि पिछले उदाहरणों में दिखाया गया है, हमारा ग्रिड सिस्टम आपको या .colके भीतर कितनी भी संख्या में s रखने की अनुमति देता है । वे उपलब्ध चौड़ाई को उनके बीच समान रूप से विभाजित करेंगे। आप कम या ज्यादा जगह लेने के लिए अपने कॉलम का एक सबसेट भी चुन सकते हैं, जबकि शेष s बाकी को समान रूप से विभाजित करते हैं, जैसे विशिष्ट कॉलम क्लासेस के साथ ।.row.form-row.col.col-7
स्वतः-आकार
.colनीचे दिया गया उदाहरण सामग्री और परिवर्तनों को लंबवत रूप से केंद्र में रखने के लिए फ्लेक्सबॉक्स उपयोगिता का उपयोग करता है .col-autoताकि आपके कॉलम केवल उतना ही स्थान ले सकें जितना आवश्यक हो। एक और तरीका रखो, सामग्री के आधार पर कॉलम का आकार स्वयं ही होता है।
फिर आप इसे एक बार फिर आकार-विशिष्ट कॉलम कक्षाओं के साथ रीमिक्स कर सकते हैं।
.form-inlineएकल क्षैतिज पंक्ति पर लेबल, प्रपत्र नियंत्रण और बटन की एक श्रृंखला प्रदर्शित करने के लिए कक्षा का उपयोग करें । इनलाइन प्रपत्रों में प्रपत्र नियंत्रण उनकी डिफ़ॉल्ट स्थितियों से थोड़े भिन्न होते हैं।
नियंत्रण display: flexकिसी भी HTML सफेद स्थान को ध्वस्त कर रहे हैं और आपको रिक्ति और फ्लेक्सबॉक्स उपयोगिताओं के साथ संरेखण नियंत्रण प्रदान करने की अनुमति दे रहे हैं।
width: autoबूटस्ट्रैप डिफ़ॉल्ट को ओवरराइड करने के लिए नियंत्रण और इनपुट समूह प्राप्त होते हैं width: 100%।
नियंत्रण केवल उन व्यूपोर्ट में इनलाइन दिखाई देते हैं जो मोबाइल उपकरणों पर संकीर्ण व्यूपोर्ट के लिए खाते में कम से कम 576px चौड़े होते हैं।
आपको स्पेसिंग यूटिलिटीज (जैसा कि नीचे दिखाया गया है) के साथ अलग-अलग फॉर्म नियंत्रणों की चौड़ाई और संरेखण को मैन्युअल रूप से संबोधित करने की आवश्यकता हो सकती है । अंत में, प्रत्येक फ़ॉर्म नियंत्रण के साथ हमेशा शामिल करना सुनिश्चित करें <label>, भले ही आपको इसे गैर-स्क्रीनरीडर विज़िटर से .sr-only.
कस्टम प्रपत्र नियंत्रण और चयन भी समर्थित हैं।
छिपे हुए लेबल के विकल्प
यदि आप प्रत्येक इनपुट के लिए एक लेबल शामिल नहीं करते हैं, तो स्क्रीन रीडर जैसी सहायक तकनीकों को आपके फ़ॉर्म में समस्या होगी। .sr-onlyइन इनलाइन प्रपत्रों के लिए, आप कक्षा का उपयोग करके लेबल छिपा सकते हैं । सहायक तकनीकों के लिए लेबल प्रदान करने के और भी वैकल्पिक तरीके हैं, जैसे aria-label, aria-labelledbyया titleविशेषता। यदि इनमें से कोई भी ��ौजूद नहीं है, तो सहायक प्रौद्योगिकियां placeholderविशेषता का उपयोग करने का सहारा ले सकती हैं, यदि मौजूद हैं, लेकिन ध्यान दें कि placeholderअन्य लेबलिंग विधियों के प्रतिस्थापन के रूप में उपयोग की सलाह नहीं दी जाती है।
मदद पाठ
प्रपत्रों में ब्लॉक-स्तरीय सहायता पाठ .form-text(पहले .help-blockv3 के रूप में जाना जाता था) का उपयोग करके बनाया जा सकता है। इनलाइन हेल्प टेक्स्ट को किसी भी इनलाइन HTML एलिमेंट और यूटिलिटी क्लासेस जैसे .text-muted.
सहायता पाठ को प्रपत्र नियंत्रणों के साथ संबद्ध करना
सहायता टेक्स्ट स्पष्ट रूप से उस प्रपत्र नियंत्रण से जुड़ा होना चाहिए जो aria-describedbyविशेषता का उपयोग करने से संबंधित हो। यह सुनिश्चित करेगा कि सहायक प्रौद्योगिकियां—जैसे स्क्रीन रीडर—इस सहायता पाठ की घोषणा तब करेंगी जब उपयोगकर्ता ध्यान केंद्रित करेगा या नियंत्रण में प्रवेश करेगा।
इनपुट के नीचे हेल्प टेक्स्ट को स्टाइल किया जा सकता है .form-text। इस वर्ग में display: blockऊपर दिए गए इनपुट से आसान रिक्ति के लिए कुछ शीर्ष मार्जिन शामिल है और जोड़ता है।
आपका पासवर्ड 8-20 वर्णों का होना चाहिए, उसमें अक्षर और संख्याएँ होनी चाहिए, और उसमें रिक्त स्थान, विशेष वर्ण या इमोजी नहीं होने चाहिए।
इनलाइन टेक्स्ट किसी भी सामान्य इनलाइन एचटीएमएल तत्व (चाहे वह एक <small>, <span>या कुछ और हो) का उपयोग उपयोगिता वर्ग से ज्यादा कुछ नहीं कर सकता है।
अक्षम प्रपत्र
disabledउपयोगकर्ता इंटरैक्शन को रोकने और इसे हल्का दिखाने के लिए इनपुट पर बूलियन विशेषता जोड़ें ।
सभी नियंत्रणों को अक्षम करने के लिए disabledविशेषता को a में जोड़ें ।<fieldset>
एंकर के साथ चेतावनी
डिफ़ॉल्ट रूप से, ब्राउज़र सभी मूल प्रपत्र नियंत्रणों ( <input>, <select>और <button>तत्वों) <fieldset disabled>को अक्षम के रूप में मानेंगे, जिससे उन पर कीबोर्ड और माउस दोनों की बातचीत को रोका जा सकेगा। हालांकि, अगर आपके फॉर्म में <a ... class="btn btn-*">तत्व भी शामिल हैं, तो इन्हें केवल की शैली दी जाएगी pointer-events: none। जैसा कि बटन के लिए अक्षम स्थिति के बारे में अनुभाग में उल्लेख किया गया है (और विशेष रूप से एंकर तत्वों के लिए उप-अनुभाग में), यह सीएसएस संपत्ति अभी तक मानकीकृत नहीं है और इंटरनेट एक्सप्लोरर 10 में पूरी तरह से समर्थित नहीं है, और कीबोर्ड उपयोगकर्ताओं को होने से नहीं रोकेगी इन लिंक्स को फोकस या सक्रिय करने में सक्षम। इसलिए सुरक्षित रहने के लिए, ऐसे लिंक को अक्षम करने के लिए कस्टम जावास्क्रिप्ट का उपयोग करें।
क्रॉस-ब्राउज़र संगतता
disabledजबकि बूटस्ट्रैप इन शैलियों को सभी ब्राउज़रों में लागू करेगा, इंटरनेट एक्सप्लोरर 11 और नीचे एक पर विशेषता का पूरी तरह से समर्थन नहीं करता है <fieldset>। इन ब्राउज़रों में फ़ील्डसेट को अक्षम करने के लिए कस्टम जावास्क्रिप्ट का उपयोग करें।
मान्यकरण
हमारे सभी समर्थित ब्राउज़रों में उपलब्ध HTML5 फॉर्म सत्यापन के साथ अपने उपयोगकर्ताओं को मूल्यवान, कार्रवाई योग्य प्रतिक्रिया प्रदान करें । ब्राउज़र डिफ़ॉल्ट सत्यापन प्रतिक्रिया में से चुनें, या हमारी अंतर्निहित कक्षाओं और स्टार्टर जावास्क्रिप्ट के साथ कस्टम संदेशों को लागू करें।
हम वर्तमान में कस्टम सत्यापन शैलियों का उपयोग करने की अनुशंसा करते हैं, क्योंकि मूल ब्राउज़र डिफ़ॉल्ट सत्यापन संदेश सभी ब्राउज़रों में सहायक तकनीकों के लिए लगातार सामने नहीं आते हैं (सबसे विशेष रूप से, डेस्कटॉप और मोबाइल पर क्रोम)।
यह काम किस प्रकार करता है
यहां बताया गया है कि बूटस्ट्रैप के साथ फॉर्म सत्यापन कैसे काम करता है:
HTML फॉर्म सत्यापन CSS के दो छद्म वर्गों के माध्यम से लागू किया जाता है, :invalidऔर :valid. यह <input>, <select>, और <textarea>तत्वों पर लागू होता है।
बूटस्ट्रैप स्कोप :invalidऔर :validशैलियों को मूल .was-validatedवर्ग में लागू करता है, आमतौर पर <form>. अन्यथा, बिना मान वाला कोई भी आवश्यक फ़ील्ड पृष्ठ लोड होने पर अमान्य के रूप में दिखाई देता है। इस तरह, आप चुन सकते हैं कि उन्हें कब सक्रिय करना है (आमतौर पर फॉर्म जमा करने का प्रयास करने के बाद)।
फॉर्म की उपस्थिति को रीसेट करने के लिए (उदाहरण के लिए, AJAX का उपयोग करके डायनामिक फॉर्म सबमिशन के मामले में), सबमिशन के बाद फिर .was-validatedसे क्लास को हटा दें।<form>
फ़ॉलबैक के रूप में, .is-invalidऔर सर्वर साइड सत्यापन.is-valid के लिए छद्म वर्गों के बजाय कक्षाओं का उपयोग किया जा सकता है । उन्हें अभिभावक वर्ग की आवश्यकता नहीं है ।.was-validated
<label>CSS कैसे काम करता है, इसकी बाधाओं के कारण, हम कस्टम जावास्क्रिप्ट की मदद के बिना DOM में फ़ॉर्म नियंत्रण से पहले आने वाली शैलियों को (वर्तमान में) लागू नहीं कर सकते ।
सभी आधुनिक ब्राउज़र बाधा सत्यापन API का समर्थन करते हैं , जो प्रपत्र नियंत्रणों को मान्य करने के लिए जावास्क्रिप्ट विधियों की एक श्रृंखला है।
फीडबैक संदेश ब्राउज़र डिफॉल्ट्स (प्रत्येक ब्राउज़र के लिए अलग, और सीएसएस के माध्यम से अस्थिर) या अतिरिक्त एचटीएमएल और सीएसएस के साथ हमारी कस्टम फीडबैक शैलियों का उपयोग कर सकते हैं।
setCustomValidityआप जावास्क्रिप्ट में कस्टम वैधता संदेश प्रदान कर सकते हैं ।
इसे ध्यान में रखते हुए, हमारे कस्टम फॉर्म सत्यापन शैलियों, वैकल्पिक सर्वर साइड क्लास और ब्राउज़र डिफ़ॉल्ट के लिए निम्नलिखित डेमो पर विचार करें।
कस्टम शैली
कस्टम बूटस्ट्रैप फॉर्म सत्यापन संदेशों के लिए, आपको novalidateअपनी <form>. यह ब्राउज़र डिफ़ॉल्ट फीडबैक टूलटिप्स को अक्षम करता है, लेकिन फिर भी जावास्क्रिप्ट में फॉर्म सत्यापन एपीआई तक पहुंच प्रदान करता है। नीचे दिए गए फॉर्म को जमा करने का प्रयास करें; हमारा जावास्क्रिप्ट सबमिट बटन को इंटरसेप्ट करेगा और आपको फीडबैक देगा। :invalidसबमिट करने का प्रयास करते समय, आप अपने प्रपत्र नियंत्रणों पर लागू और :validशैलियाँ देखेंगे ।
फीडबैक को बेहतर ढंग से संप्रेषित करने के लिए कस्टम फीडबैक स्टाइल कस्टम रंग, बॉर्डर, फोकस स्टाइल और बैकग्राउंड आइकन लागू करते हैं। s के लिए पृष्ठभूमि चिह्न <select>केवल के साथ उपलब्ध हैं .custom-select, न कि .form-control।
ब्राउज़र डिफ़ॉल्ट
कस्टम सत्यापन प्रतिक्रिया संदेश या प्रपत्र व्यवहार बदलने के लिए जावास्क्रिप्ट लिखने में रुचि नहीं है? सब ठीक है, आप ब्राउज़र डिफ़ॉल्ट का उपयोग कर सकते हैं। नीचे दिए गए फॉर्म को सबमिट करने का प्रयास करें। आपके ब्राउज़र और OS के आधार पर, आपको फ़ीडबैक की थोड़ी भिन्न शैली दिखाई देगी.
हालांकि इन फीडबैक शैलियों को सीएसएस के साथ स्टाइल नहीं किया जा सकता है, फिर भी आप जावास्क्रिप्ट के माध्यम से फीडबैक टेक्स्ट को कस्टमाइज़ कर सकते हैं।
सर्वर साइड
.is-invalidहम क्लाइंट-साइड सत्यापन का उपयोग करने की सलाह देते हैं, लेकिन यदि आपको सर्वर-साइड सत्यापन की आवश्यकता है, तो आप और के साथ अमान्य और मान्य फ़ॉर्म फ़ील्ड इंगित कर सकते हैं .is-valid। ध्यान दें कि .invalid-feedbackइन वर्गों के साथ भी समर्थित है।
समर्थित तत्व
सत्यापन शैलियाँ निम्नलिखित प्रपत्र नियंत्रणों और घटकों के लिए उपलब्ध हैं:
<input>s और <textarea>s के साथ .form-control( .form-controlइनपुट समूहों में एक तक शामिल है)
<select>रों के साथ .form-controlor.custom-select
.form-checkएस
.custom-checkboxएस और .custom-radioएस
.custom-file
टूलटिप्स
यदि आपका फॉर्म लेआउट इसकी अनुमति देता है, तो आप स्टाइल टूलटिप में सत्यापन फीडबैक प्रदर्शित करने के लिए कक्षाओं के .{valid|invalid}-feedbackलिए कक्षाओं को स्वैप कर सकते हैं। टूलटिप पोजिशनिंग के लिए उस पर .{valid|invalid}-tooltipमाता-पिता का होना सुनिश्चित करें । position: relativeनीचे दिए गए उदाहरण में, हमारे कॉलम वर्गों में यह पहले से ही है, लेकिन आपके प्रोजेक्ट को वैकल्पिक सेटअप की आवश्यकता हो सकती है।
अनुकूलित
$form-validation-statesसत्यापन राज्यों को मानचित्र के साथ Sass के माध्यम से अनुकूलित किया जा सकता है । हमारी फ़ाइल में स्थित , यह Sass मानचित्र डिफ़ॉल्ट / सत्यापन स्थिति _variables.scssउत्पन्न करने के लिए लूप किया गया है। प्रत्येक राज्य के रंग और आइकन को अनुकूलित करने के लिए एक नेस्टेड मानचित्र शामिल है। जबकि कोई अन्य राज्य ब्राउज़र द्वारा समर्थित नहीं हैं, कस्टम शैलियों का उपयोग करने वाले आसानी से अधिक जटिल फ़ॉर्म फ़ीडबैक जोड़ सकते हैं।validinvalid
कृपया ध्यान दें कि हम मिश्रण को संशोधित किए बिना इन मूल्यों को अनुकूलित करने की अनुशंसा नहीं करते हैं form-validation-state।
कस्टम फ़ॉर्म
और भी अधिक अनुकूलन और क्रॉस ब्राउज़र स्थिरता के लिए, ब्राउज़र डिफ़ॉल्ट को बदलने के लिए हमारे पूरी तरह से कस्टम फॉर्म तत्वों का उपयोग करें। वे अर्थपूर्ण और सुलभ मार्कअप के शीर्ष पर बने हैं, इसलिए वे किसी भी डिफ़ॉल्ट फॉर्म नियंत्रण के लिए ठोस प्रतिस्थापन हैं।
चेकबॉक्स और रेडियो
हमारे कस्टम नियंत्रण को बनाने के लिए प्रत्येक चेकबॉक्स और रेडियो <input>और <label>पेयरिंग को एक में लपेटा गया है । <div>संरचनात्मक रूप से, यह हमारे डिफ़ॉल्ट के समान दृष्टिकोण है .form-check।
हम अपने सभी राज्यों के लिए सिबलिंग चयनकर्ता ( ~) का उपयोग करते हैं - जैसे - हमारे कस्टम फॉर्म इंडिकेटर को ठीक से स्टाइल करने के लिए। कक्षा के साथ संयुक्त होने पर , हम राज्य के आधार पर प्रत्येक आइटम के लिए टेक्स्ट को स्टाइल भी कर सकते हैं ।<input>:checked.custom-control-label<input>
हम डिफ़ॉल्ट <input>के साथ छिपाते हैं और इसके स्थान पर और के साथ एक नया कस्टम प्रपत्र संकेतक बनाने के लिए opacityउपयोग करते हैं । दुर्भाग्य से हम कस्टम का निर्माण सिर्फ इसलिए नहीं कर सकते क्योंकि CSS उस तत्व पर काम नहीं करता है।.custom-control-label::before::after<input>content
चेक किए गए राज्यों में, हम Open Iconic से बेस 64 एम्बेडेड SVG आइकन का उपयोग करते हैं । यह हमें सभी ब्राउज़रों और उपकरणों में स्टाइलिंग और स्थिति के लिए सर्वोत्तम नियंत्रण प्रदान करता है।
चेक बॉक्स
जब जावास्क्रिप्ट के माध्यम से मैन्युअल रूप से सेट किया जाता है तो कस्टम चेकबॉक्स :indeterminateछद्म वर्ग का भी उपयोग कर सकते हैं (इसे निर्दिष्ट करने के लिए कोई HTML विशेषता उपलब्ध नहीं है)।
यदि आप jQuery का उपयोग कर रहे हैं, तो ऐसा कुछ पर्याप्त होना चाहिए:
रेडियो
इन - लाइन
अक्षम
कस्टम चेकबॉक्स और रेडियो को भी अक्षम किया जा सकता है। disabledमें बूलियन विशेषता जोड़ें <input>और कस्टम संकेतक और लेबल विवरण स्वचालित रूप से स्टाइल किया जाएगा।
स्विच
एक स्विच में एक कस्टम चेकबॉक्स का मार्कअप होता है लेकिन .custom-switchटॉगल स्विच को रेंडर करने के लिए क्लास का उपयोग करता है। स्विच भी disabledविशेषता का समर्थन करते हैं।
मेनू चुनें
कस्टम शैलियों को ट्रिगर करने के लिए कस्टम <select>मेनू को केवल एक कस्टम वर्ग की आवश्यकता होती है । .custom-selectकस्टम शैलियाँ के <select>प्रारंभिक स्वरूप तक सीमित हैं और <option>ब्राउज़र सीमाओं के कारण s को संशोधित नहीं कर सकते हैं।
आप हमारे समान आकार के टेक्स्ट इनपुट से मेल खाने के लिए छोटे और बड़े कस्टम चयनों में से भी चुन सकते हैं।
multipleविशेषता भी समर्थित है :
जैसा कि sizeविशेषता है:
सीमा
के साथ कस्टम <input type="range">नियंत्रण बनाएं .custom-range। ट्रैक (पृष्ठभूमि) और अंगूठा (मान) दोनों को ब्राउज़र में समान दिखने के लिए स्टाइल किया गया है। चूंकि केवल आईई और फ़ायरफ़ॉक्स अंगूठे के बाएं या दाएं से अपने ट्रैक को "भरने" का समर्थन करते हैं, जो कि दृष्टि से प्रगति को इंगित करने के साधन के रूप में है, हम वर्तमान में इसका समर्थन नहीं करते हैं।
रेंज इनपुट में क्रमशः minऔर max- 0और के लिए निहित मूल्य हैं। आप और विशेषताओं 100का उपयोग करने वालों के लिए नए मान निर्दिष्ट कर सकते हैं ।minmax
डिफ़ॉल्ट रूप से, इनपुट "स्नैप" को पूर्णांक मानों तक सीमित करें। इसे बदलने के लिए, आप एक stepमान निर्दिष्ट कर सकते हैं। नीचे दिए गए उदाहरण में, हम उपयोग करके चरणों की संख्या को दोगुना कर देते हैं step="0.5"।
फ़ाइल ब्राउज़र
कस्टम फ़ाइल इनपुट को चेतन करने के लिए अनुशंसित प्लगइन: bs-custom-file-input , यही वह है जो हम वर्तमान में यहां अपने डॉक्स में उपयोग कर रहे हैं।
फ़ाइल इनपुट गुच्छा का सबसे अधिक है और अतिरिक्त जावास्क्रिप्ट की आवश्यकता है यदि आप उन्हें कार्यात्मक फ़ाइल चुनें ... और चयनित फ़ाइल नाम टेक्स्ट के साथ जोड़ना चाहते हैं।
हम डिफ़ॉल्ट फ़ाइल <input>को छुपाते हैं opacityऔर इसके बजाय <label>. बटन उत्पन्न होता है और के साथ स्थित होता है ::after। अंत में, हम आस-पास की सामग्री के लिए उचित रिक्ति के लिए a widthऔर heighton घोषित करते हैं।<input>
एससीएसएस के साथ स्ट्रिंग्स का अनुवाद या अनुकूलित करना
:lang()छद्म वर्ग का उपयोग "ब्राउज़ करें" पाठ को अन्य भाषाओं में अनुवाद करने की अनुमति देने के लिए किया जाता है। प्रासंगिक भाषा टैग और स्थानीयकृत स्ट्रिंग $custom-file-textके साथ Sass चर में प्रविष्टियां ओवरराइड या जोड़ें । अंग्रेजी स्ट्रिंग्स को उसी तरह अनुकूलित किया जा सकता है। उदाहरण के लिए, यहां बताया गया है कि कोई स्पैनिश अनुवाद कैसे जोड़ सकता है (स्पेनिश का भाषा कोड है ):es
यहाँ lang(es)एक स्पेनिश अनुवाद के लिए कस्टम फ़ाइल इनपुट पर कार्रवाई की गई है:
HTML के साथ स्ट्रिंग्स का अनुवाद या कस्टमाइज़ करना
बूटस्ट्रैप HTML में "ब्राउज़ करें" टेक्स्ट को उस data-browseविशेषता के साथ अनुवाद करने का एक तरीका प्रदान करता है जिसे कस्टम इनपुट लेबल (डच में उदाहरण) में जोड़ा जा सकता है: