ფორმის კონტროლის სტილის, განლაგების ვარიანტებისა და მორგებული კომპონენტების მაგალითები და გამოყენების ინსტრუქციები მრავალფეროვანი ფორმების შესაქმნელად.
მიმოხილვა
Bootstrap-ის ფორმის კონტროლი აფართოებს ჩვენი გადატვირთული ფორმის სტილებს კლასებით. გამოიყენეთ ეს კლასები, რათა აირჩიოთ მათი მორგებული დისპლეები ბრაუზერებსა და მოწყობილობებში უფრო თანმიმდევრული რენდერისთვის.
დარწმუნდით, რომ გამოიყენეთ შესაბამისი typeატრიბუტი ყველა შეყვანისთვის (მაგ., emailელფოსტის მისამართისთვის ან numberციფრული ინფორმაციისთვის), რათა ისარგებლოთ შეყვანის უფრო ახალი კონტროლით, როგორიცაა ელფოსტის დადასტურება, ნომრის შერჩევა და სხვა.
აქ არის სწრაფი მაგალითი Bootstrap-ის ფორმის სტილის დემონსტრირებისთვის. განაგრძეთ კითხვა საჭირო კლასების დოკუმენტაციის, ფორმის განლაგების და სხვათა შესახებ.
ფორმის კონტროლი
ტექსტური ფორმის კონტროლი - როგორიცაა <input>s, <select>s და <textarea>s - სტილიზებულია .form-controlკლასთან ერთად. მოყვება სტილები ზოგადი გარეგნობის, ფოკუსირების მდგომარეობის, ზომისა და სხვა.
დარწმუნდით, რომ შეისწავლეთ ჩვენი მორგებული ფორმები შემდგომი სტილისთვის <select>.
დააყენეთ სიმაღლეები კლასების გამოყენებით, როგორიცაა .form-control-lgდა .form-control-sm.
Წაიკითხეთ მხოლოდ
დაამატეთ readonlyლოგიკური ატრიბუტი შეყვანაზე, რათა თავიდან აიცილოთ შეყვანის მნიშვნელობის შეცვლა. მხოლოდ წაკითხვადი შეყვანები უფრო მსუბუქია (ისევე, როგორც გამორთული შეყვანები), მაგრამ ინარჩუნებს სტანდარტულ კურსორს.
მხოლოდ წაკითხვადი ტექსტი
თუ გსურთ, რომ <input readonly>ელემენტები თქვენს ფორმაში იყოს სტილიზებული, როგორც უბრალო ტექსტი, გამოიყენეთ .form-control-plaintextკლასი წაშალეთ ნაგულისხმევი ფორმის ველის სტილი და შეინარჩუნოთ სწორი მინდვრები და შიგთავსი.
ნაგულისხმევი ყუთები და რადიოები გაუმჯობესებულია .form-check, ერთი კლასის დახმარებით ორივე შეყვანის ტიპისთვის , რომელიც აუმჯობესებს მათი HTML ელემენტების განლაგებას და ქცევას . ჩამრთველი არის სიაში ერთი ან რამდენიმე ვარიანტის ასარჩევად, ხოლო რადიოები მრავალი ვარიანტიდან ერთის ასარჩევად.
გამორთული მოსანიშნი ველები და რადიოები მხარდაჭერილია. ატრიბუტი გამოიყენებს უფრო 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).
განლაგება
მას შემდეგ, რაც Bootstrap გამოიყენება display: blockდა width: 100%თითქმის ყველა ჩვენი ფორმის კონტროლისთვის, ფორმები ნაგულისხმევად დაწყობილი იქნება ვერტიკალურად. დამატებითი კლასების გამოყენება შესაძლებელია ამ განლაგების ცვალებადობისთვის თითოეული ფორმის საფუძველზე.
ჩამოაყალიბეთ ჯგუფები
კლასი არის უმარტივესი .form-groupგზა ფორმებში გარკვეული სტრუქტურის დასამატებლად. ის უზრუნველყოფს მოქნილ კლასს, რომელიც ხელს უწყობს ეტიკეტების, კონტროლის, არჩევითი დახმარების ტექსტისა და ფორმის დადასტურების შეტყობინებების სწორად დაჯგუფებას. ნაგულისხმევად ის მხოლოდ ვრცელდება margin-bottom, მაგრამ .form-inlineსაჭიროების შემთხვევაში ირჩევს დამატებით სტილებს. გამოიყენეთ იგი <fieldset>s, <div>s ან თითქმის ნებისმიერი სხვა ელემენტით.
ფორმის ბადე
უფრო რთული ფორმების აგება შესაძლებელია ჩვენი ბადის კლასების გამოყენებით. გამოიყენეთ ისინი ფორმის განლაგებისთვის, რომლებიც საჭიროებენ მრავალ სვეტს, განსხვავებულ სიგანეს და გასწორების დამატებით ვარიანტებს.
მწკრივის ჩამოყალიბება
თქვენ ასევე შეგიძლიათ შეცვალოთ ჩვენი სტანდარტული ბადის მწკრივის .rowვარიაცია .form-row, რომელიც უგულებელყოფს სვეტის ნაგულისხმევ ღარები უფრო მჭიდრო და კომპაქტური განლაგებისთვის.
უფრო რთული განლაგება ასევე შეიძლება შეიქმნას ბადის სისტემით.
ჰორიზონტალური ფორმა
შექმენით ჰორიზონტალური ფორმები ბადით .rowკლასის დამატებით ჯგუფების შესაქმნელად და .col-*-*კლასების გამოყენებით თქვენი ლეიბლებისა და კონტროლის სიგანის დასაზუსტებლად. დარწმუნდით, რომ დაამატეთ .col-form-labelთქვენს <label>s-ებსაც, რათა ისინი ვერტიკალურად იყოს ორიენტირებული მათთან ასოცირებულ ფორმებთან.
ხანდახან, შესაძლოა დაგჭირდეთ გამოიყენოთ ზღვრული ან ბალიშის უტილიტები, რათა შექმნათ თქვენთვის სასურველი სრულყოფილი გასწორება. მაგალითად, ჩვენ წავშალეთ padding-topჩვენს დაწყობილ რადიოს შეყვანის ეტიკეტი, რათა უკეთ გავასწოროთ ტექსტის საბაზისო ხაზი.
ჰორიზონტალური ფორმის ეტიკეტის ზომა
დარწმუნდით, რომ გამოიყენოთ .col-form-label-smან .col-form-label-lgთქვენი <label>s ან <legend>s სწორად დაიცვას ზომა .form-control-lgდა .form-control-sm.
სვეტის ზომა
როგორც წინა მაგალითებშია ნაჩვენები, ჩვენი ბადის სისტემა საშუალებას გაძლევთ მოათავსოთ ნებისმიერი რიცხვი .cols-ში .rowან .form-row. ისინი თანაბრად გაყოფენ ხელმისაწვდომ სიგანეს მათ შორის. თქვენ ასევე შეგიძლიათ აირჩიოთ თქვენი სვეტების ქვეჯგუფი, რომ დაიკავოს მეტ-ნაკლებად სივრცე, ხოლო დანარჩენებმა .colთანაბრად გაყოთ დანარჩენი, სვეტების კონკრეტული კლასებით, როგორიცაა .col-7.
ავტომატური ზომა
ქვემოთ მოყვანილი მაგალითი იყენებს flexbox უტილიტას შიგთავსის ვერტიკალურად ცენტრისთვის და ცვლის .colისე .col-auto, რომ თქვენი სვეტები დაიკავონ მხოლოდ იმდენი სივრცე, რამდენიც საჭიროა. სხვაგვარად რომ ვთქვათ, სვეტი თავად ზომავს შიგთავსს.
ამის შემდეგ შეგიძლიათ ხელახლა აურიოთ ეს სვეტის ზომის სპეციფიკური კლასებით.
გამოიყენეთ .form-inlineკლასი ეტიკეტების, ფორმის კონტროლისა და ღილაკების სერიის გამოსატანად ერთ ჰორიზონტალურ მწკრივზე. ფორმატის კონტროლი ხაზში მყოფ ფორმებში ოდნავ განსხვავდება მათი ნაგულისხმევი მდგომარეობიდან.
კონტროლი არის display: flex, არღვევს HTML-ის ნებისმიერ თეთრ სივრცეს და საშუალებას გაძლევთ უზრუნველყოთ გასწორების კონტროლი ინტერვალისა და flexbox უტილიტაებით .
კონტროლი და შეყვანის ჯგუფები იღებენ width: autoBootstrap-ის ნაგულისხმევის გადაფარვას width: 100%.
მართვის ღილაკები ჩნდება მხოლოდ ხედის პორტებში, რომელთა სიგანე მინიმუმ 576 პიქსელია , რათა მოხდეს მობილური მოწყობილობების ვიწრო ნახვის პორტები.
შეიძლება დაგჭირდეთ ხელით მიმართოთ ფორმის ცალკეული სამართავის სიგანე და გასწორება ინტერვალის უტილიტებთან (როგორც ნაჩვენებია ქვემოთ). და ბოლოს, დარწმუნდით, რომ ყოველთვის შეიყვანეთ <label>ფორმა თითოეულ კონტროლთან ერთად, მაშინაც კი, თუ მისი დამალვა გჭირდებათ ეკრანის წამკითხველი ვიზიტორებისგან .sr-only.
მორგებული ფორმის კონტროლი და არჩევა ასევე მხარდაჭერილია.
ფარული ეტიკეტების ალტერნატივები
დამხმარე ტექნოლოგიები, როგორიცაა ეკრანის წამკითხველები, პრობლემები ექნებათ თქვენს ფორმებთან დაკავშირებით, თუ არ ჩაურთავთ ეტიკეტს ყველა შეყვანისთვის. ამ ხაზოვანი ფორმებისთვის შეგიძლიათ დაიმალოთ ეტიკეტები .sr-onlyკლასის გამოყენებით. არსებობს დამხმარე ტექნოლოგიებისთვის ეტიკეტის მიწოდების სხვა ალტერნატიული მეთოდები, როგორიცაა aria-label, aria-labelledbyან titleატრიბუტი. თუ არცერთი მათგანი არ არის, დამხმარე ტექნოლოგიებმა შეიძლება მიმართონ placeholderატრიბუტის გამოყენებას, თუ არსებობს, მაგრამ გაითვალისწინეთ, რომ placeholderეტიკეტირების სხვა მეთოდების შემცვლელად გამოყენება არ არის რეკომენდებული.
დახმარების ტექსტი
ბლოკის დონის დახმარების ტექსტი ფორმებში შეიძლება შეიქმნას გამოყენებით .form-text(ადრე ცნობილი როგორც .help-blockv3). Inline დახმარების ტექსტი შეიძლება მოქნილად განხორციელდეს ნებისმიერი inline HTML ელემენტისა და სასარგებლო კლასების გამოყენებით, როგორიცაა .text-muted.
დახმარების ტექსტის ასოცირება ფორმის კონტროლებთან
დახმარების ტექსტი აშკარად უნდა იყოს დაკავშირებული ფორმის კონტროლთან, რომელსაც ის ეხება aria-describedbyატრიბუტის გამოყენებით. ეს უზრუნველყოფს, რომ დამხმარე ტექნოლოგიები, როგორიცაა ეკრანის წამკითხველები, გამოაცხადებენ ამ დახმარების ტექსტს, როდესაც მომხმარებელი ფოკუსირებს ან შედის კონტროლზე.
დამხმარე ტექსტის ქვემოთ შენატანი შეიძლება იყოს სტილიზებული .form-text. ეს კლასი მოიცავს display: blockდა ამატებს ზედა ზღვარს ზემოაღნიშნული შენატანებიდან მარტივი დაშორებისთვის.
თქვენი პაროლი უნდა შედგებოდეს 8-20 სიმბოლოსგან, შეიცავდეს ასოებსა და ციფრებს და არ უნდა შეიცავდეს ინტერვალებს, სპეციალურ სიმბოლოებს ან ემოციებს.
Inline ტექსტს შეუძლია გამოიყენოს ნებისმიერი ტიპიური inline HTML ელემენტი (იქნება ეს <small>, <span>, ან რაიმე სხვა) არაფრით გარდა სასარგებლო კლასისა.
გამორთული ფორმები
დაამატეთ disabledლოგიკური ატრიბუტი შეყვანაზე, რათა თავიდან აიცილოთ მომხმარებლის ურთიერთქმედება და უფრო მსუბუქი გამოჩნდეს.
დაამატეთ disabledატრიბუტი a-ს <fieldset>, რათა გამორთოთ ყველა კონტროლი შიგნით.
გაფრთხილება წამყვანებით
ნაგულისხმევად, ბრაუზერები განიხილავენ ყველა ბუნებრივ ფორმას ( <input>, <select>და <button>ელემენტებს) შიგნით, <fieldset disabled>როგორც გათიშულად, რაც ხელს უშლის მათზე კლავიატურისა და მაუსის ურთიერთქმედებას. თუმცა, თუ თქვენი ფორმა ასევე შეიცავს <a ... class="btn btn-*">ელემენტებს, მათ მიენიჭებათ მხოლოდ pointer-events: none. როგორც აღინიშნა ღილაკების გათიშული მდგომარეობის შესახებ სექციაში (და კონკრეტულად წამყვანი ელემენტების ქვეგანყოფილებაში), ეს CSS თვისება ჯერ არ არის სტანდარტიზებული და არ არის სრულად მხარდაჭერილი Internet Explorer 10-ში და ხელს არ შეუშლის კლავიატურის მომხმარებლებს. შეუძლია ამ ბმულების ფოკუსირება ან გააქტიურება. ასე რომ, რომ იყოთ უსაფრთხო, გამოიყენეთ მორგებული JavaScript, რომ გამორთოთ ასეთი ბმულები.
ჯვარედინი ბრაუზერის თავსებადობა
მიუხედავად იმისა, რომ Bootstrap გამოიყენებს ამ სტილებს ყველა ბრაუზერში, Internet Explorer 11 და ქვემოთ არ არის სრულად მხარდაჭერილი disabledატრიბუტის შესახებ <fieldset>. გამოიყენეთ მორგებული JavaScript ამ ბრაუზერებში ველების ნაკრების გასათიშად.
ვალიდაცია
მიაწოდეთ ღირებული, ქმედითი გამოხმაურება თქვენს მომხმარებლებს HTML5 ფორმის დადასტურებით – ხელმისაწვდომია ყველა ჩვენს მხარდაჭერილ ბრაუზერში . აირჩიეთ ბრაუზერის ნაგულისხმევი ვალიდაციის გამოხმაურება, ან განახორციელეთ მორგებული შეტყობინებები ჩვენი ჩაშენებული კლასებით და დამწყები JavaScript-ით.
ამჟამად ჩვენ გირჩევთ გამოიყენოთ პერსონალური ვალიდაციის სტილის გამოყენება, რადგან მშობლიური ბრაუზერის ნაგულისხმევი ვალიდაციის შეტყობინებები მუდმივად არ ექვემდებარება დამხმარე ტექნოლოგიებს ყველა ბრაუზერში (განსაკუთრებით, Chrome დესკტოპზე და მობილურზე).
Როგორ მუშაობს
აი, როგორ მუშაობს ფორმის ვალიდაცია Bootstrap-თან:
HTML ფორმის ვალიდაცია გამოიყენება CSS-ის ორი ფსევდო კლასის მეშვეობით :invalidდა :valid. ეს ეხება <input>, <select>და <textarea>ელემენტებს.
Bootstrap ახორციელებს :invalidდა :validსტილებს მშობელთა .was-validatedკლასში, ჩვეულებრივ გამოიყენება <form>. წინააღმდეგ შემთხვევაში, ნებისმიერი საჭირო ველი მნიშვნელობის გარეშე გამოჩნდება, როგორც არასწორი გვერდის ჩატვირთვაზე. ამ გზით, თქვენ შეგიძლიათ აირჩიოთ როდის გაააქტიუროთ ისინი (როგორც წესი, ფორმის წარდგენის მცდელობის შემდეგ).
ფორმის იერსახის აღსადგენად (მაგალითად, AJAX-ის გამოყენებით დინამიური ფორმის წარდგენის შემთხვევაში), წარდგენის შემდეგ კვლავ ამოიღეთ .was-validatedკლასი .<form>
როგორც სარეზერვო, .is-invalidდა .is-validკლასები შეიძლება გამოყენებულ იქნას ფსევდო-კლასების ნაცვლად სერვერის მხრიდან ვალიდაციისთვის . მათ არ სჭირდებათ .was-validatedმშობლის კლასი.
CSS-ის მუშაობის შეზღუდვების გამო, ჩვენ არ შეგვიძლია (ამჟამად) გამოვიყენოთ სტილები <label>DOM-ში ფორმის კონტროლის წინ, მორგებული JavaScript-ის დახმარების გარეშე.
ყველა თანამედროვე ბრაუზერი მხარს უჭერს შეზღუდვის ვალიდაციის API- ს, JavaScript მეთოდების სერიას ფორმის კონტროლის დასადასტურებლად.
გამოხმაურების შეტყობინებებმა შეიძლება გამოიყენოს ბრაუზერის ნაგულისხმევი პარამეტრები (განსხვავებული თითოეული ბრაუზერისთვის და არასტილაციური CSS-ის საშუალებით) ან ჩვენი მორგებული გამოხმაურების სტილი დამატებითი HTML და CSS.
თქვენ შეგიძლიათ მიაწოდოთ პირადი მოქმედების შეტყობინებები setCustomValidityJavaScript-ში.
ამის გათვალისწინებით, განიხილეთ შემდეგი დემო ჩვენებები ჩვენი პერსონალური ფორმის ვალიდაციის სტილის, არჩევითი სერვერის მხარის კლასებისთვის ���ა ბრაუზერის ნაგულისხმევი პარამეტრებისთვის.
მორგებული სტილები
მორგებული Bootstrap ფორმის ვალიდაციის შეტყობინებებისთვის, თქვენ უნდა დაამატოთ 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>ს .form-controlან.custom-select
.form-checkს
.custom-checkboxს და .custom-radioს
.custom-file
ინსტრუმენტების რჩევები
თუ თქვენი ფორმის განლაგება ამის საშუალებას იძლევა, შეგიძლიათ შეცვალოთ .{valid|invalid}-feedbackკლასები .{valid|invalid}-tooltipკლასებით, რათა აჩვენოთ ვალიდაციის გამოხმაურება სტილიზებული ხელსაწყოს მინიშნებაში. დარწმუნდით, რომ თან იქონიეთ მშობელი position: relativeხელსაწყოების პოზიციონირებისთვის. ქვემოთ მოცემულ მაგალითში, ჩვენს სვეტის კლასებს ეს უკვე აქვთ, მაგრამ თქვენს პროექტს შეიძლება დასჭირდეს ალტერნატიული დაყენება.
მორგება
ვალიდაციის მდგომარეობების მორგება შესაძლებელია Sass-ის მეშვეობით რუქით $form-validation-states. ჩვენს ფაილში მდებარე _variables.scssეს Sass რუკა გადატვირთულია ნაგულისხმევი valid/ invalidვალიდაციის მდგომარეობების შესაქმნელად. მოყვება ჩადგმული რუკა თითოეული სახელმწიფოს ფერისა და ხატის მორგებისთვის. მიუხედავად იმისა, რომ არცერთი სხვა სახელმწიფო არ არის მხარდაჭერილი ბრაუზერების მიერ, მათ, ვინც იყენებს მორგებულ სტილებს, ადვილად შეუძლიათ უფრო რთული ფორმის გამოხმაურება.
გთხოვთ გაითვალისწინოთ, რომ ჩვენ არ გირჩევთ ამ მნიშვნელობების form-validation-stateმორგებას მიქსინის შეცვლის გარეშე.
მორგებული ფორმები
კიდევ უფრო მეტი პერსონალიზაციისთვის და ბრაუზერის ჯვარედინი თანმიმდევრულობისთვის, გამოიყენეთ ჩვენი სრულიად მორგებული ფორმის ელემენტები ბრაუზერის ნაგულისხმევი პარამეტრების შესაცვლელად. ისინი აგებულია სემანტიკური და ხელმისაწვდომი მარკირების თავზე, ამიტომ ისინი მყარი ჩანაცვლებაა ნებისმიერი ნაგულისხმევი ფორმის კონტროლისთვის.
ჩექმები და რადიოები
თითოეული მოსანიშნი ველი და რადიო <input>და <label>დაწყვილება შეფუთულია ნიშანში, <div>რათა შეიქმნას ჩვენი მორგებული კონტროლი. სტრუქტურულად, ეს არის იგივე მიდგომა, როგორც ჩვენი ნაგულისხმევი .form-check.
ჩვენ ვიყენებთ და-ძმის ამომრჩეველს ( ~) ყველა ჩვენი <input>მდგომარეობისთვის, მაგალითად, :checkedჩვენი მორგებული ფორმის ინდიკატორის სწორად სტილისთვის. კლასთან .custom-control-labelშერწყმისას, ჩვენ ასევე შეგვიძლია ტექსტის სტილისტიკა თითოეული ელემენტისთვის <input>'-ის მდგომარეობის მიხედვით.
ჩვენ ვმალავთ ნაგულისხმევს <input>და opacityვიყენებთ .custom-control-labelმის ადგილას ახალი მორგებული ფორმის ინდიკატორის შესაქმნელად ::beforeდა ::after. სამწუხაროდ, ჩვენ ვერ ავაშენებთ მორგებულს მხოლოდ <input>იმიტომ, რომ CSS contentარ მუშაობს ამ ელემენტზე.
შემოწმებულ მდგომარეობებში ჩვენ ვიყენებთ base64 ჩაშენებულ SVG ხატულებს Open Iconic- დან . ეს გვაძლევს საუკეთესო კონტროლს სტილისა და პოზიციონირების შესახებ ბრაუზერებსა და მოწყობილობებში.
მოსანიშნი ველები
მორგებულ ჩეკ ველებს ასევე შეუძლიათ გამოიყენონ :indeterminateფსევდო კლასი, როდესაც ხელით დაყენებულია JavaScript-ის საშუალებით (არ არის ხელმისაწვდომი HTML ატრიბუტი მის დასაზუსტებლად).
თუ იყენებთ jQuery-ს, ასეთი რაღაც საკმარისი იქნება:
რადიოები
Ხაზში
გამორთულია
მორგებული ყუთები და რადიოები ასევე შეიძლება გამორთოთ. დაამატეთ disabledლოგიკური ატრიბუტი <input>და მორგებული ინდიკატორი და ეტიკეტის აღწერა ავტომატურად იქნება სტილიზებული.
გადამრთველები
გადამრთველს აქვს მორგებული ჩამრთველის მარკირება, მაგრამ იყენებს .custom-switchკლასს გადართვის გადამრთველის გამოსატანად. კონცენტრატორები ასევე მხარს უჭერენ disabledატრიბუტს.
აირჩიეთ მენიუ
მორგებულ <select>მენიუებს სჭირდებათ მხოლოდ მორგებული კლასი, .custom-selectმორგებული სტილის გასააქტიურებლად. მორგებული სტილები შემოიფარგლება <select>თავდაპირველი გარეგნობით და არ შეუძლიათ <option>s-ის შეცვლა ბრაუზერის შეზღუდვების გამო.
თქვენ ასევე შეგიძლიათ აირჩიოთ მცირე და დიდი საბაჟო არჩევიდან, რათა შეესაბამებოდეს ჩვენი მსგავსი ზომის ტექსტის შეყვანას.
multipleატრიბუტი ასევე მხარდაჭერილია :
როგორც არის sizeატრიბუტი:
Დიაპაზონი
შექმენით საბაჟო <input type="range">კონტროლი .custom-range. ტრეკი (ფონი) და ცერა თითი (მნიშვნელობა) ორივე სტილიზებულია ისე, რომ ბრაუზერებში ერთნაირად გამოჩნდეს. ვინაიდან მხოლოდ IE და Firefox მხარს უჭერენ ცერა თითის მარცხნიდან ან მარჯვნივ „შევსებას“, როგორც პროგრესის ვიზუალურად აღნიშვნის საშუალებას, ჩვენ ამჟამად არ ვუჭერთ მხარს.
დიაპაზონის შეყვანას აქვს იმპლიციტური მნიშვნელობები minდა max— 0და 100, შესაბამისად. თქვენ შეგიძლიათ მიუთითოთ ახალი მნიშვნელობები მათთვის, ვინც იყენებს minდა maxატრიბუტებს.
ნაგულისხმევად, დიაპაზონი შეაქვს "snap" მთელ რიცხვებში. ამის შესაცვლელად, შეგიძლიათ მიუთითოთ stepმნიშვნელობა. ქვემოთ მოცემულ მაგალითში ჩვენ გავაორმაგებთ ნაბიჯების რაოდენობას გამოყენებით step="0.5".
ფაილის ბრაუზერი
რეკომენდირებული დანამატი პერსონალური ფაილის შეყვანის ანიმაციისთვის: bs-custom-file-input , სწორედ ამას ვიყენებთ ამჟამად აქ ჩვენს დოკუმენტებში.
ფაილის შეყვანა არის ყველაზე მკაფიო ჯგუფიდან და საჭიროებს დამატებით JavaScript-ს, თუ გსურთ დააკავშიროთ ისინი ფუნქციური ფაილის არჩევით… და ფაილის სახელის შერჩეული ტექსტით.
<input>ჩვენ ვმალავთ ნაგულისხმევ ფაილს opacityდა ამის ნაცვლად სტილში ვაყენებთ <label>. ღილაკი გენერირებულია და განლაგებულია ::after. და ბოლოს, ჩვენ ვაცხადებთ a widthand heighton <input>შესაბამისი ინტერვალით გარემომცველი შინაარსისთვის.
სტრიქონების თარგმნა ან მორგება SCSS-ით
ფსევდოკლასი გამოიყენება „დათვალიერების“ ტექსტის სხვა ენებზე თარგმნის დასაშვებად :lang(). გააუქმეთ ან დაამატეთ ჩანაწერები $custom-file-textSass ცვლადში შესაბამისი ენის ტეგით და ლოკალიზებული სტრიქონებით. ინგლისური სტრიქონების მორგება შესაძლებელია იმავე გზით. მაგალითად, აი, როგორ შეიძლება დაამატოთ ესპანური თარგმანი (ესპანური ენის კოდია es):
აქ არის lang(es)მოქმედება პერსონალური ფაილის შეყვანის შესახებ ესპანური თარგმანისთვის:
თქვენ უნდა დააყენოთ თქვენი დოკუმენტის (ან მისი ქვეხის) ენა სწორად, რათა სწორი ტექსტი იყოს ნაჩვენები. ეს შეიძლება გაკეთდეს ელემენტის langატრიბუტის<html> ან Content-LanguageHTTP სათაურის გამოყენებით , სხვა მეთოდებთან ერთად.
სტრიქონების HTML-ით თარგმნა ან მორგება
Bootstrap ასევე საშუალებას გაძლევთ თარგმნოთ "Browse" ტექსტი HTML-ში data-browseატრიბუტით, რომელიც შეიძლება დაემატოს მორგებულ შეყვანის ეტიკეტს (მაგალითი ჰოლანდიურად):