फॉर्म नियंत्रण शैली, लेआउट पर्याय आणि विविध प्रकारचे फॉर्म तयार करण्यासाठी सानुकूल घटकांसाठी उदाहरणे आणि वापर मार्गदर्शक तत्त्वे.
आढावा
बूटस्ट्रॅपची फॉर्म नियंत्रणे वर्गांसह आमच्या रीबूट केलेल्या फॉर्म शैलींवर विस्तृत होतात. ब्राउझर आणि डिव्हाइसेसवर अधिक सुसंगत प्रस्तुतीकरणासाठी त्यांच्या सानुकूलित प्रदर्शनांची निवड करण्यासाठी या वर्गांचा वापर करा.
नवीन इनपुट नियंत्रणे जसे की ईमेल पडताळणी, नंबर निवड आणि अधिकचा लाभ घेण्यासाठी 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 आणि s हे a <label>च्या विरूद्ध भावंड घटक आहेत . हे थोडे अधिक शब्दशः आहे कारण तुम्ही निर्दिष्ट करणे आवश्यक आहे आणि आणि आणि .<input><label>idfor<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मजकूर बेसलाइन चांगल्या प्रकारे संरेखित करण्यासाठी आम्ही आमच्या स्टॅक केलेले रेडिओ इनपुट लेबल काढून टाकले आहे.
क्षैतिज फॉर्म लेबल आकार
आणि चा आकार योग्यरित्या फॉलो करण्यासाठी तुमच्या s किंवा .col-form-label-sms चा वापर केल्याची खात्री करा ..col-form-label-lg<label><legend>.form-control-lg.form-control-sm
स्तंभ आकारमान
मागील उदाहरणांमध्ये दाखवल्याप्रमाणे, आमची ग्रिड सिस्टीम तुम्हाला a किंवा मध्ये कितीही .cols ठेवण्याची परवानगी देते . ते उपलब्ध रुंदी त्यांच्यामध्ये समान प्रमाणात विभाजित करतील. तुम्ही कमी किंवा जास्त जागा घेण्यासाठी तुमच्या स्तंभांचा एक उपसंच देखील निवडू शकता, तर उर्वरित भाग समान रीतीने, विशिष्ट स्तंभ वर्गांसह विभाजित करू शकता ..row.form-row.col.col-7
स्वयं-आकार
खालील उदाहरण सामग्रीला अनुलंब मध्यभागी ठेवण्यासाठी फ्लेक्सबॉक्स युटिलिटी वापरते आणि त्यात बदल .colकरते .col-autoजेणेकरून तुमचे स्तंभ आवश्यक तेवढीच जागा घेतात. दुसरा मार्ग सांगा, स्तंभाचा आकार सामग्रीवर आधारित असतो.
त्यानंतर तुम्ही ते पुन्हा एकदा आकार-विशिष्ट स्तंभ वर्गांसह रीमिक्स करू शकता.
.form-inlineएकाच क्षैतिज पंक्तीवर लेबले, फॉर्म नियंत्रणे आणि बटणांची मालिका प्रदर्शित करण्यासाठी वर्ग वापरा . इनलाइन फॉर्ममधील फॉर्म नियंत्रणे त्यांच्या डीफॉल्ट स्थितींपेक्षा किंचित बदलतात.
नियंत्रणे आहेत , कोणतीही HTML व्हाईट स्पेस कोलॅप्स करणे आणि तुम्हाला स्पेसिंग आणि फ्लेक्सबॉक्स युटिलिटीसह display: flexसंरेखन नियंत्रण प्रदान करण्याची अनुमती देते .
width: autoबूटस्ट्रॅप डीफॉल्ट अधिलिखित करण्यासाठी नियंत्रणे आणि इनपुट गट प्राप्त करतात width: 100%.
मोबाइल डिव्हाइसवरील अरुंद व्ह्यूपोर्टसाठी किमान 576px रुंद असलेल्या व्ह्यूपोर्टमध्ये नियंत्रणे फक्त इनलाइन दिसतात.
तुम्हाला स्पेसिंग युटिलिटीसह वैयक्तिक फॉर्म कंट्रोल्सची रुंदी आणि संरेखन मॅन्युअली संबोधित करण्याची आवश्यकता असू शकते (खाली दर्शविल्याप्रमाणे). शेवटी, प्रत्येक फॉर्म नियंत्रणासोबत नेहमी एक समाविष्ट करण्याचे सुनिश्चित करा <label>, जरी तुम्हाला ते सह स्क्रीनरीडर नसलेल्या अभ्यागतांपासून लपवायचे असले तरीही .sr-only.
सानुकूल फॉर्म नियंत्रणे आणि निवड देखील समर्थित आहेत.
लपलेल्या लेबलांना पर्याय
तुम्ही प्रत्येक इनपुटसाठी लेबल समाविष्ट न केल्यास स्क्रीन रीडर्ससारख्या सहाय्यक तंत्रज्ञानांना तुमच्या फॉर्ममध्ये अडचण येईल. .sr-onlyया इनलाइन फॉर्मसाठी, तुम्ही वर्ग वापरून लेबले लपवू शकता . सहाय्यक तंत्रज्ञानासाठी लेबल प्रदान करण्याच्या पुढील पर्यायी पद्धती आहेत, जसे की aria-label, aria-labelledbyकिंवा titleविशेषता. यापैकी काहीही उपस्थित नसल्यास, सहाय्यक तंत्रज्ञान हे placeholderगुणधर्म वापरण्याचा अवलंब करू शकतात, जर उपस्थित असेल, परंतु लक्षात ठेवा की placeholderइतर लेबलिंग पद्धतींसाठी बदली म्हणून वापरण्याचा सल्ला दिला जात नाही.
मदत मजकूर
फॉर्ममधील ब्लॉक-स्तरीय मदत मजकूर वापरून तयार केला जाऊ शकतो .form-text(पूर्वी .help-blockv3 मध्ये ओळखले जात असे). इनलाइन मदत मजकूर लवचिकपणे कोणत्याही इनलाइन एचटीएमएल घटक आणि उपयुक्तता वर्ग वापरून लागू केला जाऊ शकतो .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. बटणांसाठी अक्षम स्थितीबद्दल विभागात नमूद केल्याप्रमाणे (आणि विशेषतः अँकर घटकांसाठी उप-विभागात), ही CSS गुणधर्म अद्याप प्रमाणित केलेली नाही आणि इंटरनेट एक्सप्लोरर 10 मध्ये पूर्णपणे समर्थित नाही, आणि कीबोर्ड वापरकर्त्यांना होण्यापासून प्रतिबंधित करणार नाही. या लिंक्सवर लक्ष केंद्रित किंवा सक्रिय करण्यास सक्षम. त्यामुळे सुरक्षित राहण्यासाठी, अशा लिंक्स अक्षम करण्यासाठी सानुकूल JavaScript वापरा.
क्रॉस-ब्राउझर सुसंगतता
बूटस्ट्रॅप सर्व ब्राउझरमध्ये या शैली लागू करेल, इंटरनेट एक्सप्लोरर 11 आणि खालील disabledवरील विशेषताला पूर्णपणे समर्थन देत नाही <fieldset>. या ब्राउझरमध्ये फील्डसेट अक्षम करण्यासाठी सानुकूल JavaScript वापरा.
प्रमाणीकरण
तुमच्या वापरकर्त्यांना HTML5 फॉर्म प्रमाणीकरणासह मौल्यवान, कृती करण्यायोग्य अभिप्राय द्या- आमच्या सर्व समर्थित ब्राउझरमध्ये उपलब्ध आहे . ब्राउझर डीफॉल्ट प्रमाणीकरण फीडबॅकमधून निवडा किंवा आमच्या अंगभूत वर्ग आणि स्टार्टर JavaScript सह सानुकूल संदेश लागू करा.
आम्ही सध्या सानुकूल प्रमाणीकरण शैली वापरण्याची शिफारस करतो, कारण मूळ ब्राउझर डीफॉल्ट प्रमाणीकरण संदेश सर्व ब्राउझरमधील सहाय्यक तंत्रज्ञानाच्या संपर्कात येत नाहीत (मुख्यतः डेस्कटॉप आणि मोबाइलवरील Chrome).
हे कसे कार्य करते
बूटस्ट्रॅपसह फॉर्म प्रमाणीकरण कसे कार्य करते ते येथे आहे:
HTML फॉर्म प्रमाणीकरण CSS च्या दोन छद्म-वर्गांद्वारे लागू केले जाते, :invalidआणि :valid. हे <input>, <select>, आणि <textarea>घटकांना लागू होते.
बूटस्ट्रॅप स्कोप :invalidआणि :validस्टाइल्स पॅरेंट .was-validatedक्लासमध्ये, सहसा वर लागू होते <form>. अन्यथा, मूल्य नसलेले कोणतेही आवश्यक फील्ड पृष्ठ लोडवर अवैध म्हणून दर्शविले जाते. अशा प्रकारे, ते कधी सक्रिय करायचे ते तुम्ही निवडू शकता (सामान्यत: फॉर्म सबमिशनचा प्रयत्न केल्यानंतर).
फॉर्मचे स्वरूप रीसेट करण्यासाठी (उदाहरणार्थ, AJAX वापरून डायनॅमिक फॉर्म सबमिशनच्या बाबतीत), सबमिशननंतर पुन्हा .was-validatedवर्ग काढून टाका.<form>
फॉलबॅक म्हणून, .is-invalidआणि सर्व्हर साइड व्हॅलिडेशनसाठी.is-valid स्यूडो-क्लासेसऐवजी वर्ग वापरले जाऊ शकतात . त्यांना पालक वर्गाची आवश्यकता नाही ..was-validated
CSS कसे कार्य करते यातील अडथळ्यांमुळे, <label>सानुकूल JavaScript च्या मदतीशिवाय आम्ही DOM मध्ये फॉर्म कंट्रोलच्या आधी येणाऱ्या शैलींना (सध्या) शैली लागू करू शकत नाही.
सर्व आधुनिक ब्राउझर कंस्ट्रेंट व्हॅलिडेशन API चे समर्थन करतात , फॉर्म नियंत्रणे प्रमाणित करण्यासाठी JavaScript पद्धतींची मालिका.
फीडबॅक मेसेज ब्राउझर डीफॉल्ट (प्रत्येक ब्राउझरसाठी वेगळे आणि CSS द्वारे अनस्टाइल केलेले) किंवा अतिरिक्त HTML आणि CSS सह आमच्या कस्टम फीडबॅक शैलींचा वापर करू शकतात.
setCustomValidityतुम्ही JavaScript मध्ये सानुकूल वैधता संदेश देऊ शकता .
हे लक्षात घेऊन, आमच्या सानुकूल फॉर्म प्रमाणीकरण शैली, पर्यायी सर्व्हर साइड वर्ग आणि ब्राउझर डीफॉल्टसाठी खालील डेमोचा विचार करा.
सानुकूल शैली
सानुकूल बूटस्ट्रॅप फॉर्म प्रमाणीकरण संदेशांसाठी, तुम्हाला novalidateतुमच्या मध्ये बुलियन विशेषता जोडणे आवश्यक आहे <form>. हे ब्राउझर डीफॉल्ट फीडबॅक टूलटिप्स अक्षम करते, परंतु तरीही JavaScript मधील फॉर्म प्रमाणीकरण API मध्ये प्रवेश प्रदान करते. खालील फॉर्म सबमिट करण्याचा प्रयत्न करा; आमची JavaScript सबमिट बटण रोखेल आणि फीडबॅक तुमच्यापर्यंत पोहोचवेल. सबमिट करण्याचा प्रयत्न करताना, तुम्हाला तुमच्या फॉर्म नियंत्रणांवर लागू केलेले :invalidआणि शैली दिसतील.:valid
सानुकूल अभिप्राय शैली अभिप्राय अधिक चांगल्या प्रकारे संप्रेषण करण्यासाठी सानुकूल रंग, सीमा, फोकस शैली आणि पार्श्वभूमी चिन्हे लागू करतात. s साठी पार्श्वभूमी चिन्ह <select>फक्त सोबत उपलब्ध आहेत .custom-select, आणि नाही .form-control.
ब्राउझर डीफॉल्ट
सानुकूल प्रमाणीकरण अभिप्राय संदेश किंवा फॉर्म वर्तन बदलण्यासाठी JavaScript लिहिण्यात स्वारस्य नाही? सर्व चांगले, आपण ब्राउझर डीफॉल्ट वापरू शकता. खालील फॉर्म सबमिट करण्याचा प्रयत्न करा. तुमचा ब्राउझर आणि OS वर अवलंबून, तुम्हाला फीडबॅकची थोडी वेगळी शैली दिसेल.
जरी या फीडबॅक शैली CSS सह शैलीबद्ध केल्या जाऊ शकत नाहीत, तरीही तुम्ही JavaScript द्वारे फीडबॅक मजकूर सानुकूलित करू शकता.
सर्व्हर बाजूला
आम्ही क्लायंट-साइड प्रमाणीकरण वापरण्याची शिफारस करतो, परंतु आपल्याला सर्व्हर-साइड प्रमाणीकरण आवश्यक असल्यास, आपण आणि सह अवैध आणि वैध फॉर्म फील्ड दर्शवू .is-invalidशकता .is-valid. लक्षात ठेवा की .invalid-feedbackया वर्गांसह देखील समर्थित आहे.
समर्थित घटक
खालील फॉर्म नियंत्रणे आणि घटकांसाठी प्रमाणीकरण शैली उपलब्ध आहेत:
<input>s आणि <textarea>s सह .form-control( .form-controlइनपुट गटांमध्ये एक पर्यंत)
<select>s सह .form-controlकिंवा.custom-select
.form-checks
.custom-checkboxs आणि .custom-radios
.custom-file
टूलटिप्स
जर तुमचा फॉर्म लेआउट त्यास अनुमती देत असेल, तर तुम्ही स्टाइल केलेल्या टूलटिपमध्ये प्रमाणीकरण फीडबॅक प्रदर्शित .{valid|invalid}-feedbackकरण्यासाठी वर्गांसाठी वर्गांची अदलाबदल करू शकता. टूलटिप पोझिशनिंगसाठी त्यावर .{valid|invalid}-tooltipपालक असण्याची खात्री करा . position: relativeखालील उदाहरणामध्ये, आमच्या कॉलम क्लासमध्ये हे आधीच आहे, परंतु तुमच्या प्रोजेक्टला पर्यायी सेटअपची आवश्यकता असू शकते.
सानुकूल करणे
$form-validation-statesप्रमाणीकरण स्थिती नकाशासह सास द्वारे सानुकूलित केल्या जाऊ शकतात . आमच्या _variables.scssफाइलमध्ये स्थित, हा Sass नकाशा डीफॉल्ट valid/ invalidप्रमाणीकरण स्थिती निर्माण करण्यासाठी लूप केलेला आहे. प्रत्येक राज्याचा रंग आणि चिन्ह सानुकूलित करण्यासाठी नेस्टेड नकाशा समाविष्ट केला आहे. इतर कोणतीही राज्ये ब्राउझरद्वारे समर्थित नसली तरी, सानुकूल शैली वापरणारे अधिक जटिल फॉर्म फीडबॅक सहज जोडू शकतात.
form-validation-stateकृपया लक्षात घ्या की आम्ही मिक्सिनमध्ये बदल न करता ही मूल्ये सानुकूलित करण्याची शिफारस करत नाही .
सानुकूल फॉर्म
आणखी सानुकूलन आणि क्रॉस ब्राउझर सुसंगततेसाठी, ब्राउझर डीफॉल्ट बदलण्यासाठी आमचे पूर्णपणे सानुकूल फॉर्म घटक वापरा. ते सिमेंटिक आणि प्रवेशयोग्य मार्कअपच्या शीर्षस्थानी तयार केलेले आहेत, म्हणून ते कोणत्याही डीफॉल्ट फॉर्म नियंत्रणासाठी ठोस बदली आहेत.
चेकबॉक्स आणि रेडिओ
आमचे सानुकूल नियंत्रण तयार करण्यासाठी प्रत्येक चेकबॉक्स आणि रेडिओ <input>आणि <label>जोडणी a मध्ये गुंडाळलेली आहे . <div>संरचनात्मकदृष्ट्या, हा आमचा डीफॉल्ट सारखाच दृष्टिकोन आहे .form-check.
आमच्या सानुकूल फॉर्म इंडिकेटरला योग्य रीतीने शैली देण्यासाठी आम्ही आमच्या सर्व राज्यांसाठी सिबलिंग सिलेक्टर ( ~) वापरतो. वर्गासोबत एकत्रित केल्यावर , आम्ही प्रत्येक आयटमसाठीच्या स्थितीवर आधारित मजकूर देखील शैलीबद्ध करू शकतो.<input>:checked.custom-control-label<input>
<input>आम्ही यासह डीफॉल्ट लपवतो आणि त्याच्या जागी नवीन सानुकूल फॉर्म निर्देशक तयार करण्यासाठी opacityवापरतो आणि . दुर्दैवाने आम्ही एक सानुकूल तयार करू शकत नाही कारण CSS त्या घटकावर कार्य करत नाही..custom-control-label::before::after<input>content
तपासलेल्या स्थितींमध्ये, आम्ही Open Iconic मधील base64 एम्बेडेड SVG आयकॉन वापरतो . हे आम्हाला ब्राउझर आणि डिव्हाइसेसवर शैली आणि स्थितीसाठी सर्वोत्तम नियंत्रण प्रदान करते.
चेकबॉक्सेस
JavaScript द्वारे मॅन्युअली सेट केल्यावर कस्टम चेकबॉक्स स्यूडो क्लास देखील वापरू :indeterminateशकतात (ते निर्दिष्ट करण्यासाठी उपलब्ध HTML विशेषता नाही).
तुम्ही jQuery वापरत असल्यास, असे काहीतरी पुरेसे आहे:
रेडिओ
इनलाइन
अक्षम
सानुकूल चेकबॉक्स आणि रेडिओ देखील अक्षम केले जाऊ शकतात. disabledमध्ये बुलियन विशेषता जोडा <input>आणि सानुकूल निर्देशक आणि लेबल वर्णन स्वयंचलितपणे शैलीबद्ध केले जाईल.
स्विचेस
स्विचमध्ये कस्टम चेकबॉक्सचा मार्कअप असतो परंतु .custom-switchटॉगल स्विच रेंडर करण्यासाठी क्लास वापरतो. स्विच देखील disabledविशेषता समर्थन.
मेनू निवडा
सानुकूल शैली ट्रिगर करण्यासाठी सानुकूल मेनूला <select>केवळ सानुकूल वर्ग आवश्यक आहे. सानुकूल शैली 'च्या सुरुवातीच्या स्वरूपापुरती .custom-selectमर्यादित आहेत आणि ब्राउझरच्या मर्यादांमुळे s मध्ये बदल करू शकत नाहीत.<select><option>
आमच्या समान आकाराच्या मजकूर इनपुटशी जुळण्यासाठी तुम्ही लहान आणि मोठ्या सानुकूल निवडींमधून देखील निवडू शकता.
multipleविशेषता देखील समर्थित आहे :
जसे sizeगुणधर्म आहे:
श्रेणी
सह सानुकूल <input type="range">नियंत्रणे तयार करा .custom-range. ट्रॅक (पार्श्वभूमी) आणि अंगठा (मूल्य) दोन्ही ब्राउझरमध्ये समान दिसण्यासाठी शैलीबद्ध आहेत. केवळ IE आणि फायरफॉक्स त्यांच्या अंगठ्याच्या डाव्या किंवा उजव्या बाजूने प्रगती दर्शविण्याचे साधन म्हणून "भरण्यास" समर्थन देतात, आम्ही सध्या त्यास समर्थन देत नाही.
श्रेणी इनपुटमध्ये अनुक्रमे minआणि max— 0आणि 100, साठी अंतर्निहित मूल्ये असतात. minआणि maxविशेषता वापरणाऱ्यांसाठी तुम्ही नवीन मूल्ये निर्दिष्ट करू शकता .
डीफॉल्टनुसार, श्रेणी इनपुट पूर्णांक मूल्यांवर "स्नॅप" करते. हे बदलण्यासाठी, तुम्ही stepमूल्य निर्दिष्ट करू शकता. खालील उदाहरणात, आम्ही वापरून चरणांची संख्या दुप्पट करतो step="0.5".
फाइल ब्राउझर
सानुकूल फाइल इनपुट अॅनिमेट करण्यासाठी शिफारस केलेले प्लगइन: bs-custom-file-input , आम्ही सध्या आमच्या डॉक्समध्ये तेच वापरत आहोत.
फाईल इनपुट हे गुच्छातील सर्वात ज्वलंत आहे आणि जर तुम्हाला त्यांना फंक्शनल Choose file… आणि निवडलेल्या फाईल नावाच्या मजकुरासह जोडायचे असेल तर अतिरिक्त JavaScript आवश्यक आहे.
आम्ही डीफॉल्ट फाइल <input>द्वारे लपवतो opacityआणि त्याऐवजी स्टाईल करतो <label>. बटण व्युत्पन्न केले आहे आणि सह स्थित आहे ::after. शेवटी, आम्ही आसपासच्या सामग्रीसाठी योग्य अंतरासाठी a widthआणि heighton घोषित करतो.<input>
SCSS सह स्ट्रिंग्सचे भाषांतर किंवा सानुकूलित करणे
:lang()स्यूडो-क्लासचा वापर “ ब्राउझ” मजकूराचे इतर भाषांमध्ये भाषांतर करण्यास अनुमती देण्यासाठी केला जातो. $custom-file-textसंबंधित भाषा टॅग आणि स्थानिकीकृत स्ट्रिंगसह Sass व्हेरिएबलमध्ये ओव्हरराइड करा किंवा नोंदी जोडा . इंग्रजी स्ट्रिंग्स त्याच प्रकारे सानुकूलित केले जाऊ शकतात. उदाहरणार्थ, कोणी स्पॅनिश भाषांतर कसे जोडू शकते ते येथे आहे (स्पॅनिश भाषेचा कोड आहे es):
lang(es)स्पॅनिश भाषांतरासाठी सानुकूल फाइल इनपुटवर येथे क्रिया चालू आहे:
योग्य मजकूर दर्शविण्यासाठी तुम्हाला तुमच्या दस्तऐवजाची भाषा (किंवा त्याचे सबट्री) योग्यरित्या सेट करणे आवश्यक आहे. हे घटकावरील विशेषता किंवा HTTP शीर्षलेख वापरून इतर पद्धतींसह केले जाऊ शकते.lang<html>Content-Language
HTML सह स्ट्रिंगचे भाषांतर किंवा सानुकूलित करणे
बूटस्ट्रॅप HTML मध्ये "ब्राउझ" मजकूराचे भाषांतर करण्याचा एक मार्ग देखील प्रदान करतो data-browseज्याला सानुकूल इनपुट लेबलमध्ये जोडले जाऊ शकते (उदाहरणार्थ डचमध्ये):