फारम नियन्त्रण शैलीहरू, लेआउट विकल्पहरू, र विभिन्न प्रकारका फारमहरू सिर्जना गर्न अनुकूलन घटकहरूका लागि उदाहरणहरू र उपयोग दिशानिर्देशहरू।
अवलोकन
बुटस्ट्र्यापको फारम नियन्त्रणहरू कक्षाहरूसँग हाम्रो रिबुट गरिएको फारम शैलीहरूमा विस्तार हुन्छ। ब्राउजरहरू र यन्त्रहरूमा थप सुसंगत रेन्डरिङको लागि तिनीहरूको अनुकूलित प्रदर्शनहरू अप्ट इन गर्न यी कक्षाहरू प्रयोग गर्नुहोस्।
इमेल प्रमाणिकरण, नम्बर चयन, र थप जस्ता नयाँ इनपुट नियन्त्रणहरूको फाइदा लिन सबै इनपुटहरूमा उपयुक्त विशेषता प्रयोग गर्न निश्चित हुनुहोस् 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।
चेकबक्स र रेडियो
पूर्वनिर्धारित चेकबक्सहरू र रेडियोहरूलाई तिनीहरूको HTML तत्वहरूको रूपरेखा र व्यवहार सुधार गर्ने दुवै इनपुट प्रकारहरूको लागि एकल वर्गको.form-check मद्दतले सुधार गरिन्छ । चेकबक्सहरू सूचीमा एक वा धेरै विकल्पहरू चयन गर्नका लागि हुन्, जबकि रेडियोहरू धेरैबाट एउटा विकल्प चयन गर्नका लागि हुन्।
असक्षम गरिएका चेकबक्सहरू र रेडियोहरू समर्थित छन्। इनपुटको अवस्था संकेत गर्न मद्दतको लागि disabledविशेषताले हल्का रङ लागू गर्नेछ।
चेकबक्सहरू र रेडियो बटनहरूले HTML-आधारित फारम प्रमाणीकरणलाई समर्थन गर्दछ र संक्षिप्त, पहुँचयोग्य लेबलहरू प्रदान गर्दछ। जस्तै, हाम्रो <input>s र <label>s भाइबहिनी तत्वहरू हुन् जुन एक <input>भित्रको विपरित हो <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
स्तम्भ आकार
अघिल्लो उदाहरणहरूमा देखाइए अनुसार, हाम्रो ग्रिड प्रणालीले तपाईंलाई a वा .colभित्र s को कुनै पनि संख्या राख्न अनुमति दिन्छ । तिनीहरूले उपलब्ध चौडाइलाई तिनीहरूको बीचमा समान रूपमा विभाजित गर्नेछन्। तपाईले आफ्नो स्तम्भहरूको सबसेट पनि कम वा कम ठाउँ लिनको लागि छनोट गर्न सक्नुहुन्छ, जबकि बाँकी हरू समान रूपमा विभाजित हुन्छन्, विशिष्ट स्तम्भ वर्गहरू जस्तै ।.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 मा भनिन्छ)। इनलाइन मद्दत पाठ लचिलो रूपमा कुनै पनि इनलाइन HTML तत्व र उपयोगिता वर्गहरू प्रयोग गरेर लागू गर्न सकिन्छ .text-muted।
फारम नियन्त्रणहरूसँग मद्दत पाठ सम्बद्ध
मद्दत पाठ स्पष्ट रूपमा फारम नियन्त्रणसँग सम्बन्धित हुनुपर्छ यो aria-describedbyविशेषता प्रयोग गर्न सम्बन्धित छ। यसले सुनिश्चित गर्नेछ कि सहायक प्रविधिहरू - जस्तै स्क्रिन रिडरहरू - प्रयोगकर्ताले फोकस गर्दा वा नियन्त्रणमा प्रवेश गर्दा यो मद्दत पाठ घोषणा गर्नेछ।
मद्दत पाठ तलका इनपुटहरू मार्फत स्टाइल गर्न सकिन्छ .form-text। यस वर्गले display: blockमाथिका इनपुटहरूबाट सजिलो स्पेसिङका लागि केही शीर्ष मार्जिन समावेश गर्दछ र थप्छ।
तपाईंको पासवर्ड 8-20 वर्ण लामो हुनुपर्छ, अक्षरहरू र संख्याहरू समावेश हुनुपर्छ, र खाली ठाउँहरू, विशेष वर्णहरू, वा इमोजीहरू समावेश हुनु हुँदैन।
इनलाइन पाठले कुनै पनि विशिष्ट इनलाइन HTML तत्व प्रयोग गर्न सक्छ (यो होस् <small>, <span>, वा अरू केहि) एक उपयोगिता वर्ग बाहेक अरू केही छैन।
असक्षम फारमहरू
disabledप्रयोगकर्ता अन्तरक्रियाहरू रोक्न र यसलाई हल्का देखिने बनाउन इनपुटमा बुलियन विशेषता थप्नुहोस् ।
भित्रका सबै नियन्त्रणहरू असक्षम disabledगर्न a मा विशेषता थप्नुहोस् ।<fieldset>
एङ्करहरूसँग चेतावनी
पूर्वनिर्धारित रूपमा, ब्राउजरहरूले सबै नेटिभ फारम नियन्त्रणहरू ( <input>, <select>र <button>तत्वहरू) <fieldset disabled>लाई असक्षम पारिएको रूपमा व्यवहार गर्नेछन्, तिनीहरूमा दुवै किबोर्ड र माउस अन्तरक्रियाहरू रोक्न। यद्यपि, यदि तपाइँको फारममा <a ... class="btn btn-*">तत्वहरू पनि समावेश छन् भने, तिनीहरूलाई मात्र शैली दिइनेछ pointer-events: none। बटनहरूको लागि असक्षम अवस्थाको बारेमा खण्डमा उल्लेख गरिएझैं (र विशेष गरी एङ्कर तत्वहरूको लागि उप-खण्डमा), यो CSS गुण अझै मानकीकृत छैन र इन्टरनेट एक्सप्लोरर 10 मा पूर्ण रूपमा समर्थित छैन, र किबोर्ड प्रयोगकर्ताहरूलाई हुनबाट रोक्दैन। फोकस गर्न वा यी लिङ्कहरू सक्रिय गर्न सक्षम। त्यसैले सुरक्षित हुन, त्यस्ता लिङ्कहरू असक्षम गर्न अनुकूलन JavaScript प्रयोग गर्नुहोस्।
क्रस-ब्राउजर अनुकूलता
disabledजबकि बुटस्ट्र्यापले यी शैलीहरू सबै ब्राउजरहरूमा लागू गर्नेछ, इन्टरनेट एक्सप्लोरर 11 र तलको एट्रिब्यूटलाई पूर्ण रूपमा समर्थन गर्दैन <fieldset>। यी ब्राउजरहरूमा फिल्डसेट असक्षम गर्न अनुकूलन JavaScript प्रयोग गर्नुहोस्।
प्रमाणीकरण
हाम्रा सबै समर्थित ब्राउजरहरूमा उपलब्ध HTML5 फारम प्रमाणीकरणको साथ तपाईंको प्रयोगकर्ताहरूलाई मूल्यवान, कार्ययोग्य प्रतिक्रिया प्रदान गर्नुहोस् । ब्राउजरको पूर्वनिर्धारित प्रमाणीकरण प्रतिक्रियाबाट छनौट गर्नुहोस्, वा हाम्रो निर्मित कक्षाहरू र स्टार्टर JavaScript सँग अनुकूलन सन्देशहरू लागू गर्नुहोस्।
हामी हाल अनुकूलन प्रमाणीकरण शैलीहरू प्रयोग गर्न सिफारिस गर्छौं, किनकि नेटिभ ब्राउजर पूर्वनिर्धारित प्रमाणीकरण सन्देशहरू सबै ब्राउजरहरूमा सहायक टेक्नोलोजीहरूमा निरन्तर रूपमा प्रकट हुँदैनन् (विशेष गरी, डेस्कटप र मोबाइलमा क्रोम)।
यसले कसरी काम गर्छ
बुटस्ट्र्यापसँग फारम प्रमाणीकरणले कसरी काम गर्छ भन्ने कुरा यहाँ छ:
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तपाईंले जाभास्क्रिप्टमा आफू अनुकूल वैधता सन्देशहरू प्रदान गर्न सक्नुहुन्छ ।
त्यसलाई ध्यानमा राख्दै, हाम्रो अनुकूलन फारम प्रमाणीकरण शैलीहरू, वैकल्पिक सर्भर साइड वर्गहरू, र ब्राउजर पूर्वनिर्धारितहरूको लागि निम्न डेमोहरू विचार गर्नुहोस्।
अनुकूलन शैलीहरू
अनुकूलन बुटस्ट्र्याप फारम प्रमाणीकरण सन्देशहरूको लागि, तपाईंले novalidateआफ्नो बुलियन विशेषता थप्न आवश्यक छ <form>। यसले ब्राउजरको पूर्वनिर्धारित प्रतिक्रिया टूलटिपहरू असक्षम पार्छ, तर अझै पनि JavaScript मा फारम प्रमाणीकरण API मा पहुँच प्रदान गर्दछ। तलको फारम पेश गर्ने प्रयास गर्नुहोस्; हाम्रो जाभास्क्रिप्टले सबमिट बटनलाई रोक्नेछ र तपाइँलाई प्रतिक्रिया रिले गर्नेछ। पेश गर्ने प्रयास गर्दा, तपाईंले आफ्नो फारम नियन्त्रणहरूमा लागू गरिएका शैलीहरू :invalidर शैलीहरू देख्नुहुनेछ ।:valid
अनुकूलन प्रतिक्रिया शैलीहरूले प्रतिक्रियालाई राम्रोसँग सञ्चार गर्न अनुकूलन रङहरू, किनाराहरू, फोकस शैलीहरू, र पृष्ठभूमि आइकनहरू लागू गर्छन्। s का लागि पृष्ठभूमि आइकनहरू <select>मात्र उपलब्ध छन् .custom-select, र होइन .form-control।
ब्राउजर पूर्वनिर्धारित
अनुकूलन प्रमाणीकरण प्रतिक्रिया सन्देशहरू वा फारम व्यवहार परिवर्तन गर्न जाभास्क्रिप्ट लेख्न रुचि छैन? सबै राम्रो, तपाईं ब्राउजर पूर्वनिर्धारित प्रयोग गर्न सक्नुहुन्छ। तलको फारम पेश गर्ने प्रयास गर्नुहोस्। तपाईंको ब्राउजर र 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>जोडी <div>हाम्रो अनुकूलन नियन्त्रण सिर्जना गर्न एक मा बेरिएको छ। संरचनात्मक रूपमा, यो हाम्रो पूर्वनिर्धारित रूपमा समान दृष्टिकोण हो .form-check।
हामी हाम्रा सबै राज्यहरूको लागि सहोदर चयनकर्ता ( ~) प्रयोग गर्छौं—जस्तै — हाम्रो अनुकूलन फारम सूचकलाई ठीकसँग स्टाइल गर्न। क्लाससँग जोड्दा, हामी प्रत्येक वस्तुको लागि ' स्टेट'को आधारमा पाठ शैली पनि बनाउन सक्छौं ।<input>:checked.custom-control-label<input>
हामी पूर्वनिर्धारित <input>लुकाउँछौं र यसको ठाउँमा नयाँ अनुकूलन फारम सूचक निर्माण गर्न opacityप्रयोग गर्छौं र । दुर्भाग्यवश CSS ले त्यो तत्वमा काम नगर्ने भएकाले हामी आफू अनुकूल बनाउन सक्दैनौं।.custom-control-label::before::after<input>content
जाँच गरिएका राज्यहरूमा, हामी Open Iconic बाट base64 सम्मिलित SVG आइकनहरू प्रयोग गर्छौं । यसले हामीलाई ब्राउजर र यन्त्रहरूमा स्टाइल र स्थिति निर्धारणको लागि उत्तम नियन्त्रण प्रदान गर्दछ।
चेकबक्सहरू
जाभास्क्रिप्ट मार्फत म्यानुअल रूपमा सेट गर्दा अनुकूलन चेकबक्सहरूले स्यूडो क्लास पनि प्रयोग गर्न सक्छ :indeterminate(यसलाई निर्दिष्ट गर्नको लागि त्यहाँ कुनै उपलब्ध HTML विशेषता छैन)।
यदि तपाइँ jQuery प्रयोग गर्दै हुनुहुन्छ भने, यो जस्तै केहि पर्याप्त हुनुपर्छ:
रेडियोहरू
क्रममा
अक्षम
अनुकूलन चेकबक्सहरू र रेडियोहरू पनि असक्षम गर्न सकिन्छ। disabledबुलियन विशेषतामा थप्नुहोस् <input>र अनुकूलन सूचक र लेबल विवरण स्वचालित रूपमा स्टाइल हुनेछ।
स्विचहरू
एउटा स्विचमा कस्टम चेकबक्सको मार्कअप हुन्छ तर .custom-switchटगल स्विच रेन्डर गर्न क्लास प्रयोग गर्दछ। स्विचहरूले पनि disabledविशेषतालाई समर्थन गर्दछ।
मेनु चयन गर्नुहोस्
आफू अनुकूल शैलीहरू ट्रिगर गर्न अनुकूलन मेनुहरूलाई <select>केवल अनुकूलन वर्ग चाहिन्छ । .custom-selectअनुकूलन शैलीहरू को प्रारम्भिक उपस्थितिमा सीमित छन् र ब्राउजर सीमितताहरूको कारणले <select>परिमार्जन गर्न सक्दैन ।<option>
तपाईले हाम्रो समान आकारको पाठ इनपुटहरूसँग मेल खाने साना र ठूला अनुकूलन चयनहरूबाट पनि छनौट गर्न सक्नुहुन्छ।
विशेषता multipleपनि समर्थित छ:
विशेषता जस्तै size:
दायरा
सँग अनुकूलन <input type="range">नियन्त्रणहरू सिर्जना गर्नुहोस् .custom-range। ट्र्याक (पृष्ठभूमि) र थम्ब (मान) दुबै ब्राउजरहरूमा उस्तै देखिन स्टाइल गरिएका छन्। केवल IE र Firefox ले आफ्नो ट्र्याकलाई औंठाको बायाँ वा दायाँबाट "भर्न" लाई दृश्य रूपमा प्रगति संकेत गर्ने माध्यमको रूपमा समर्थन गर्दछ, हामी हाल यसलाई समर्थन गर्दैनौं।
minदायरा इनपुटहरूमा क्रमशः र max— 0र -का लागि निहित मानहरू 100छन्। minतपाईंले र maxविशेषताहरू प्रयोग गर्नेहरूका लागि नयाँ मानहरू निर्दिष्ट गर्न सक्नुहुन्छ ।
पूर्वनिर्धारित रूपमा, दायरा इनपुटहरू पूर्णांक मानहरूमा "स्न्याप" गर्दछ। यसलाई परिवर्तन गर्न, तपाइँ stepमान निर्दिष्ट गर्न सक्नुहुन्छ। तलको उदाहरणमा, हामी प्रयोग गरेर चरणहरूको संख्या दोब्बर गर्छौं step="0.5"।
फाइल ब्राउजर
अनुकूलन फाइल इनपुट एनिमेसन गर्न सिफारिस गरिएको प्लगइन: bs-custom-file-input , जुन हामीले हाल हाम्रो कागजातमा प्रयोग गरिरहेका छौं।
फाइल इनपुट गुच्छाको सबैभन्दा ठूलो हो र यदि तपाइँ तिनीहरूलाई कार्यात्मक छनौट फाइल ... र चयन गरिएको फाइल नाम पाठसँग जोड्न चाहनुहुन्छ भने थप जाभास्क्रिप्ट चाहिन्छ।
<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एट्रिब्युटको साथ अनुवाद गर्ने तरिका पनि प्रदान गर्दछ जुन अनुकूलन इनपुट लेबलमा थप्न सकिन्छ (डचमा उदाहरण):