SourceШаклҳо
Намунаҳо ва дастурҳои истифода барои услубҳои идоракунии шакл, имконоти тарҳбандӣ ва ҷузъҳои фармоишӣ барои эҷоди шаклҳои васеи шакл.
Барраси
Назорати формаи Bootstrap дар сабкҳои шакли Rebooted мо бо синфҳо васеъ мешавад. Аз ин синфҳо истифода баред, то ба намоишҳои фармоишии онҳо барои намоиши мувофиқтар дар байни браузерҳо ва дастгоҳҳо дохил шавед.
Боварӣ ҳосил кунед, ки type
атрибути мувофиқро дар ҳама вурудот (масалан, email
барои суроғаи почтаи электронӣ ё number
маълумоти рақамӣ) истифода баред, то аз назорати навтари вуруд ба монанди тасдиқи почтаи электронӣ, интихоби рақам ва ғайра истифода баред.
Ин як мисоли фаврӣ барои нишон додани услубҳои формати Bootstrap аст. Барои хондани ҳуҷҷатҳо дар бораи синфҳои зарурӣ, тарҳбандии шакл ва ғайра.
Нусхабардорӣ
<form>
<div class= "form-group" >
<label for= "exampleInputEmail1" > Email address</label>
<input type= "email" class= "form-control" id= "exampleInputEmail1" aria-describedby= "emailHelp" placeholder= "Enter email" >
<small id= "emailHelp" class= "form-text text-muted" > We'll never share your email with anyone else.</small>
</div>
<div class= "form-group" >
<label for= "exampleInputPassword1" > Password</label>
<input type= "password" class= "form-control" id= "exampleInputPassword1" placeholder= "Password" >
</div>
<div class= "form-group form-check" >
<input type= "checkbox" class= "form-check-input" id= "exampleCheck1" >
<label class= "form-check-label" for= "exampleCheck1" > Check me out</label>
</div>
<button type= "submit" class= "btn btn-primary" > Submit</button>
</form>
Назорати шакли матнӣ - ба монанди <input>
s, <select>
s ва <textarea>
s - бо .form-control
синф услуб карда мешаванд. Сабкҳо барои намуди умумӣ, ҳолати фокус, андоза ва ғайра дохил карда шудаанд.
Боварӣ ҳосил кунед, ки шаклҳои фармоишии моро барои сабки минбаъда омӯзед <select>
.
Нусхабардорӣ
<form>
<div class= "form-group" >
<label for= "exampleFormControlInput1" > Email address</label>
<input type= "email" class= "form-control" id= "exampleFormControlInput1" placeholder= "[email protected] " >
</div>
<div class= "form-group" >
<label for= "exampleFormControlSelect1" > Example select</label>
<select class= "form-control" id= "exampleFormControlSelect1" >
<option> 1</option>
<option> 2</option>
<option> 3</option>
<option> 4</option>
<option> 5</option>
</select>
</div>
<div class= "form-group" >
<label for= "exampleFormControlSelect2" > Example multiple select</label>
<select multiple class= "form-control" id= "exampleFormControlSelect2" >
<option> 1</option>
<option> 2</option>
<option> 3</option>
<option> 4</option>
<option> 5</option>
</select>
</div>
<div class= "form-group" >
<label for= "exampleFormControlTextarea1" > Example textarea</label>
<textarea class= "form-control" id= "exampleFormControlTextarea1" rows= "3" ></textarea>
</div>
</form>
Барои вурудоти файл, иваз кунед .form-control
барои .form-control-file
.
Нусхабардорӣ
<form>
<div class= "form-group" >
<label for= "exampleFormControlFile1" > Example file input</label>
<input type= "file" class= "form-control-file" id= "exampleFormControlFile1" >
</div>
</form>
Андоза
.form-control-lg
Бо истифода аз синфҳои монанди ва баландӣ муқаррар .form-control-sm
кунед.
Нусхабардорӣ
<input class= "form-control form-control-lg" type= "text" placeholder= ".form-control-lg" >
<input class= "form-control" type= "text" placeholder= "Default input" >
<input class= "form-control form-control-sm" type= "text" placeholder= ".form-control-sm" >
Интихоби калон
Интихоби пешфарз
Интихоби хурд
Нусхабардорӣ
<select class= "form-control form-control-lg" >
<option> Large select</option>
</select>
<select class= "form-control" >
<option> Default select</option>
</select>
<select class= "form-control form-control-sm" >
<option> Small select</option>
</select>
Танҳо хондан
Барои readonly
пешгирӣ кардани тағирёбии арзиши вуруд аттрибути логикиро ба вуруд илова кунед. Вурудҳои танҳо барои хондан сабуктар ба назар мерасанд (мисли вурудҳои ғайрифаъол), аммо курсори стандартиро нигоҳ медоранд.
Нусхабардорӣ
<input class= "form-control" type= "text" placeholder= "Readonly input here…" readonly >
Матни оддӣ танҳо хондан
Агар шумо хоҳед, ки <input readonly>
дар шакли худ унсурҳо ҳамчун матни оддӣ дошта бошанд, .form-control-plaintext
синфро барои нест кардани услуби майдони формаи пешфарз истифода баред ва ҳошия ва пуркунии дурустро нигоҳ доред.
Нусхабардорӣ
<form>
<div class= "form-group row" >
<label for= "staticEmail" class= "col-sm-2 col-form-label" > Email</label>
<div class= "col-sm-10" >
<input type= "text" readonly class= "form-control-plaintext" id= "staticEmail" value= "[email protected] " >
</div>
</div>
<div class= "form-group row" >
<label for= "inputPassword" class= "col-sm-2 col-form-label" > Password</label>
<div class= "col-sm-10" >
<input type= "password" class= "form-control" id= "inputPassword" placeholder= "Password" >
</div>
</div>
</form>
Нусхабардорӣ
<form class= "form-inline" >
<div class= "form-group mb-2" >
<label for= "staticEmail2" class= "sr-only" > Email</label>
<input type= "text" readonly class= "form-control-plaintext" id= "staticEmail2" value= "[email protected] " >
</div>
<div class= "form-group mx-sm-3 mb-2" >
<label for= "inputPassword2" class= "sr-only" > Password</label>
<input type= "password" class= "form-control" id= "inputPassword2" placeholder= "Password" >
</div>
<button type= "submit" class= "btn btn-primary mb-2" > Confirm identity</button>
</form>
Бо истифода аз вурудҳои диапазони ба таври уфуқӣ ҳаракатшавандаро танзим .form-control-range
кунед.
Нусхабардорӣ
<form>
<div class= "form-group" >
<label for= "formControlRange" > Example Range input</label>
<input type= "range" class= "form-control-range" id= "formControlRange" >
</div>
</form>
Санҷишҳо ва радиоҳо
Қуттиҳои пешфарз ва радиоҳо бо ёрии .form-check
як синфи ягона барои ҳарду намуди вуруд такмил дода мешаванд, ки тарҳ ва рафтори унсурҳои HTML-и онҳоро беҳтар мекунад . Қуттиҳои қайдҳо барои интихоби як ё якчанд вариант дар рӯйхат мебошанд, дар ҳоле ки радиоҳо барои интихоби як вариант аз бисёриҳо мебошанд.
Қуттиҳои ғайрифаъол ва радиоҳо дастгирӣ карда мешаванд, аммо барои таъмин кардани not-allowed
курсор дар мавқеъи волидайн <label>
, шумо бояд disabled
атрибутро ба .form-check-input
. Аттрибути ғайрифаъол ранги сабуктареро ба кор мебарад, то ҳолати вурудро нишон диҳад.
Қуттиҳои санҷишӣ ва радиоҳои истифодашуда барои дастгирии тасдиқи шакл дар HTML сохта шудаанд ва нишонҳои мухтасар ва дастрасро таъмин мекунанд. Ҳамин тариқ, <input>
s ва <label>
s-и мо бар хилофи як <input>
дар дохили <label>
. Ин каме мухтасартар аст, зеро шумо бояд атрибутҳо id
ва сифатҳоро барои иртибот бо ва .for
<input>
<label>
Пешфарз (сӯхташуда)
Бо нобаёнӣ, ҳама гуна шумораи қуттиҳои қайд ва радиоҳо, ки бародари бевосита мебошанд, амудӣ ҷойгир карда мешаванд ва бо фосилаи мувофиқ ҷойгир карда мешаванд .form-check
.
Нусхабардорӣ
<div class= "form-check" >
<input class= "form-check-input" type= "checkbox" value= "" id= "defaultCheck1" >
<label class= "form-check-label" for= "defaultCheck1" >
Default checkbox
</label>
</div>
<div class= "form-check" >
<input class= "form-check-input" type= "checkbox" value= "" id= "defaultCheck2" disabled >
<label class= "form-check-label" for= "defaultCheck2" >
Disabled checkbox
</label>
</div>
Нусхабардорӣ
<div class= "form-check" >
<input class= "form-check-input" type= "radio" name= "exampleRadios" id= "exampleRadios1" value= "option1" checked >
<label class= "form-check-label" for= "exampleRadios1" >
Default radio
</label>
</div>
<div class= "form-check" >
<input class= "form-check-input" type= "radio" name= "exampleRadios" id= "exampleRadios2" value= "option2" >
<label class= "form-check-label" for= "exampleRadios2" >
Second default radio
</label>
</div>
<div class= "form-check" >
<input class= "form-check-input" type= "radio" name= "exampleRadios" id= "exampleRadios3" value= "option3" disabled >
<label class= "form-check-label" for= "exampleRadios3" >
Disabled radio
</label>
</div>
Дар мувофиқат
Қуттиҳо ё радиоҳоро дар як сатри уфуқӣ бо илова кардани .form-check-inline
ягон .form-check
.
Нусхабардорӣ
<div class= "form-check form-check-inline" >
<input class= "form-check-input" type= "checkbox" id= "inlineCheckbox1" value= "option1" >
<label class= "form-check-label" for= "inlineCheckbox1" > 1</label>
</div>
<div class= "form-check form-check-inline" >
<input class= "form-check-input" type= "checkbox" id= "inlineCheckbox2" value= "option2" >
<label class= "form-check-label" for= "inlineCheckbox2" > 2</label>
</div>
<div class= "form-check form-check-inline" >
<input class= "form-check-input" type= "checkbox" id= "inlineCheckbox3" value= "option3" disabled >
<label class= "form-check-label" for= "inlineCheckbox3" > 3 (disabled)</label>
</div>
Нусхабардорӣ
<div class= "form-check form-check-inline" >
<input class= "form-check-input" type= "radio" name= "inlineRadioOptions" id= "inlineRadio1" value= "option1" >
<label class= "form-check-label" for= "inlineRadio1" > 1</label>
</div>
<div class= "form-check form-check-inline" >
<input class= "form-check-input" type= "radio" name= "inlineRadioOptions" id= "inlineRadio2" value= "option2" >
<label class= "form-check-label" for= "inlineRadio2" > 2</label>
</div>
<div class= "form-check form-check-inline" >
<input class= "form-check-input" type= "radio" name= "inlineRadioOptions" id= "inlineRadio3" value= "option3" disabled >
<label class= "form-check-label" for= "inlineRadio3" > 3 (disabled)</label>
</div>
Бе нишонаҳо
Ба .position-static
вурудоти дар дохили .form-check
онҳо матни тамғакоғазӣ надошта илова кунед. Дар хотир доред, ки то ҳол барои технологияҳои ёрирасон (масалан, бо истифода аз aria-label
).
Нусхабардорӣ
<div class= "form-check" >
<input class= "form-check-input position-static" type= "checkbox" id= "blankCheckbox" value= "option1" aria-label= "..." >
</div>
<div class= "form-check" >
<input class= "form-check-input position-static" type= "radio" name= "blankRadio" id= "blankRadio1" value= "option1" aria-label= "..." >
</div>
Тарҳ
Азбаски Bootstrap display: block
ва width: 100%
тақрибан ба ҳамаи идораҳои формаи мо татбиқ мешавад, формаҳо ба таври нобаёнӣ амудӣ ҷамъ мешаванд. Синфҳои иловагӣ метавонанд барои тағир додани ин тарҳ дар асоси шакл истифода шаванд.
Синф роҳи .form-group
осонтарини илова кардани баъзе сохтор ба формаҳо мебошад. Он як синфи фасеҳро таъмин мекунад, ки гурӯҳбандии дурусти тамғакоғазҳо, назоратҳо, матни ёрии ихтиёрӣ ва паёмнависии тасдиқи формаро ташвиқ мекунад. Бо нобаёнӣ он танҳо амал margin-bottom
мекунад, аммо дар .form-inline
ҳолати зарурӣ услубҳои иловагиро интихоб мекунад. Онро бо <fieldset>
s, <div>
s ё қариб ягон унсури дигар истифода баред.
Нусхабардорӣ
<form>
<div class= "form-group" >
<label for= "formGroupExampleInput" > Example label</label>
<input type= "text" class= "form-control" id= "formGroupExampleInput" placeholder= "Example input" >
</div>
<div class= "form-group" >
<label for= "formGroupExampleInput2" > Another label</label>
<input type= "text" class= "form-control" id= "formGroupExampleInput2" placeholder= "Another input" >
</div>
</form>
Бо истифода аз синфҳои шабакаи мо шаклҳои мураккабтар сохтан мумкин аст. Инҳоро барои тарҳбандиҳои шакл истифода баред, ки сутунҳои сершумор, паҳнои гуногун ва имконоти ҳамоҳангсозии иловагиро талаб мекунанд.
Нусхабардорӣ
<form>
<div class= "row" >
<div class= "col" >
<input type= "text" class= "form-control" placeholder= "First name" >
</div>
<div class= "col" >
<input type= "text" class= "form-control" placeholder= "Last name" >
</div>
</div>
</form>
Шумо инчунин метавонед бо як варианти сатри шабакаи стандартии мо иваз .row
кунед .form-row
, ки ҷӯйборҳои сутуни пешфарзро барои тарҳбандиҳои сахттар ва паймонтар аз байн мебарад.
Нусхабардорӣ
<form>
<div class= "form-row" >
<div class= "col" >
<input type= "text" class= "form-control" placeholder= "First name" >
</div>
<div class= "col" >
<input type= "text" class= "form-control" placeholder= "Last name" >
</div>
</div>
</form>
Тарҳҳои мураккабтарро инчунин бо системаи шабакавӣ сохтан мумкин аст.
Нусхабардорӣ
<form>
<div class= "form-row" >
<div class= "form-group col-md-6" >
<label for= "inputEmail4" > Email</label>
<input type= "email" class= "form-control" id= "inputEmail4" placeholder= "Email" >
</div>
<div class= "form-group col-md-6" >
<label for= "inputPassword4" > Password</label>
<input type= "password" class= "form-control" id= "inputPassword4" placeholder= "Password" >
</div>
</div>
<div class= "form-group" >
<label for= "inputAddress" > Address</label>
<input type= "text" class= "form-control" id= "inputAddress" placeholder= "1234 Main St" >
</div>
<div class= "form-group" >
<label for= "inputAddress2" > Address 2</label>
<input type= "text" class= "form-control" id= "inputAddress2" placeholder= "Apartment, studio, or floor" >
</div>
<div class= "form-row" >
<div class= "form-group col-md-6" >
<label for= "inputCity" > City</label>
<input type= "text" class= "form-control" id= "inputCity" >
</div>
<div class= "form-group col-md-4" >
<label for= "inputState" > State</label>
<select id= "inputState" class= "form-control" >
<option selected > Choose...</option>
<option> ...</option>
</select>
</div>
<div class= "form-group col-md-2" >
<label for= "inputZip" > Zip</label>
<input type= "text" class= "form-control" id= "inputZip" >
</div>
</div>
<div class= "form-group" >
<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>
<button type= "submit" class= "btn btn-primary" > Sign in</button>
</form>
.row
Тавассути илова кардани синф барои ташкили гурӯҳҳо ва истифодаи .col-*-*
синфҳо барои муайян кардани паҳнои тамғакоғазҳо ва назорати худ, шаклҳои уфуқӣ бо шабака эҷод кунед . Боварӣ ҳосил кунед, ки ба s-и худ низ илова .col-form-label
кунед <label>
, то онҳо амудӣ бо назорати шакли алоқаманди худ мутамарказ шаванд.
Баъзан, ба шумо лозим меояд, ки аз ма��жа ё утилитаҳои пуркунӣ истифода баред, то он ҳамоҳангсозии комилеро, ки ба шумо лозим аст, эҷод кунед. Масалан, мо padding-top
тамғаи вурудоти радиоии stacked-ро хориҷ кардем, то хатти асоси матнро беҳтар мувофиқ созем.
Нусхабардорӣ
<form>
<div class= "form-group row" >
<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" placeholder= "Email" >
</div>
</div>
<div class= "form-group row" >
<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" placeholder= "Password" >
</div>
</div>
<fieldset class= "form-group" >
<div class= "row" >
<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>
</div>
</fieldset>
<div class= "form-group row" >
<div class= "col-sm-2" > Checkbox</div>
<div class= "col-sm-10" >
<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>
<div class= "form-group row" >
<div class= "col-sm-10" >
<button type= "submit" class= "btn btn-primary" > Sign in</button>
</div>
</div>
</form>
Ҳатман истифода баред .col-form-label-sm
ё .col-form-label-lg
ба <label>
s ё <legend>
s худ барои дуруст риоя кардани андозаи .form-control-lg
ва .form-control-sm
.
Нусхабардорӣ
<form>
<div class= "form-group row" >
<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= "form-group row" >
<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= "form-group 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>
</form>
Андозаи сутун
Тавре ки дар мисолҳои қаблӣ нишон дода шудааст, системаи шабакаи мо ба шумо имкон медиҳад, .col
ки дар дохили як .row
ё .form-row
. Онҳо паҳнои дастрасро дар байни онҳо баробар тақсим мекунанд. Шумо инчунин метавонед як зермаҷмӯи сутунҳои худро интихоб кунед, то ҷойгоҳи бештар ё камтарро ишғол кунад, дар ҳоле ки боқимондаҳо .col
боқимондаро бо синфҳои мушаххаси сутунҳо ба монанди .col-7
.
Нусхабардорӣ
<form>
<div class= "form-row" >
<div class= "col-7" >
<input type= "text" class= "form-control" placeholder= "City" >
</div>
<div class= "col" >
<input type= "text" class= "form-control" placeholder= "State" >
</div>
<div class= "col" >
<input type= "text" class= "form-control" placeholder= "Zip" >
</div>
</div>
</form>
Андозаи худкор
Намунаи дар поён овардашуда як утилитаи flexbox-ро барои ба таври амудӣ марказонидани мундариҷа ва тағирот истифода мебарад .col
, .col-auto
то сутунҳои шумо танҳо ҳамон қадар ҷойро ишғол кунанд. Ба таври дигар гӯем, андозаи сутун дар асоси мундариҷа.
Нусхабардорӣ
<form>
<div class= "form-row align-items-center" >
<div class= "col-auto" >
<label class= "sr-only" for= "inlineFormInput" > Name</label>
<input type= "text" class= "form-control mb-2" id= "inlineFormInput" placeholder= "Jane Doe" >
</div>
<div class= "col-auto" >
<label class= "sr-only" for= "inlineFormInputGroup" > Username</label>
<div class= "input-group mb-2" >
<div class= "input-group-prepend" >
<div class= "input-group-text" > @</div>
</div>
<input type= "text" class= "form-control" id= "inlineFormInputGroup" placeholder= "Username" >
</div>
</div>
<div class= "col-auto" >
<div class= "form-check mb-2" >
<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 mb-2" > Submit</button>
</div>
</div>
</form>
Пас шумо метавонед онро бори дигар бо синфҳои сутуни мушаххаси андоза ремикс кунед.
Нусхабардорӣ
<form>
<div class= "form-row align-items-center" >
<div class= "col-sm-3 my-1" >
<label class= "sr-only" for= "inlineFormInputName" > Name</label>
<input type= "text" class= "form-control" id= "inlineFormInputName" placeholder= "Jane Doe" >
</div>
<div class= "col-sm-3 my-1" >
<label class= "sr-only" for= "inlineFormInputGroupUsername" > Username</label>
<div class= "input-group" >
<div class= "input-group-prepend" >
<div class= "input-group-text" > @</div>
</div>
<input type= "text" class= "form-control" id= "inlineFormInputGroupUsername" placeholder= "Username" >
</div>
</div>
<div class= "col-auto my-1" >
<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 my-1" >
<button type= "submit" class= "btn btn-primary" > Submit</button>
</div>
</div>
</form>
Ва албатта , назорати шакли фармоишӣ дастгирӣ карда мешавад.
Нусхабардорӣ
<form>
<div class= "form-row align-items-center" >
<div class= "col-auto my-1" >
<label class= "mr-sm-2 sr-only" for= "inlineFormCustomSelect" > Preference</label>
<select class= "custom-select mr-sm-2" id= "inlineFormCustomSelect" >
<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 my-1" >
<div class= "custom-control custom-checkbox mr-sm-2" >
<input type= "checkbox" class= "custom-control-input" id= "customControlAutosizing" >
<label class= "custom-control-label" for= "customControlAutosizing" > Remember my preference</label>
</div>
</div>
<div class= "col-auto my-1" >
<button type= "submit" class= "btn btn-primary" > Submit</button>
</div>
</div>
</form>
Синфро .form-inline
барои намоиш додани як қатор тамғакоғазҳо, идоракунии шакл ва тугмаҳо дар як сатри уфуқӣ истифода баред. Назорати форма дар дохили шаклҳо аз ҳолати пешфарзашон каме фарқ мекунад.
Назоратҳо инҳоянд display: flex
, ки ҳама гуна фазои сафеди HTML-ро вайрон мекунанд ва ба шумо имкон медиҳанд, ки назорати ҳамоҳангиро бо фосила ва утилитаҳои flexbox таъмин кунед .
Назоратҳо ва гурӯҳҳои воридотӣ width: auto
барои бекор кардани пешфарзи Bootstrap width: 100%
мегиранд.
Назоратҳо танҳо дар сатри намоишӣ пайдо мешаванд, ки паҳнои на камтар аз 576 пиксел доранд , то барои намоишгоҳҳои танг дар дастгоҳҳои мобилӣ ҳисоб карда шаванд.
Шояд ба шумо лозим ояд, ки паҳнӣ ва ҳамоҳангии идоракунии формаҳои инфиродӣ бо утилитаҳои фосилавӣ (тавре ки дар зер нишон дода шудааст) дастӣ ҳал карда шавад. Ниҳоят, ҳатман боварӣ ҳосил кунед, ки ҳамеша <label>
бо ҳар як идоракунии форма як-ро дар бар гиред, ҳатто агар ба шумо лозим бошад, ки онро аз меҳмонони ғайриэкранӣ бо .sr-only
.
Нусхабардорӣ
<form class= "form-inline" >
<label class= "sr-only" for= "inlineFormInputName2" > Name</label>
<input type= "text" class= "form-control mb-2 mr-sm-2" id= "inlineFormInputName2" placeholder= "Jane Doe" >
<label class= "sr-only" for= "inlineFormInputGroupUsername2" > Username</label>
<div class= "input-group mb-2 mr-sm-2" >
<div class= "input-group-prepend" >
<div class= "input-group-text" > @</div>
</div>
<input type= "text" class= "form-control" id= "inlineFormInputGroupUsername2" placeholder= "Username" >
</div>
<div class= "form-check mb-2 mr-sm-2" >
<input class= "form-check-input" type= "checkbox" id= "inlineFormCheck" >
<label class= "form-check-label" for= "inlineFormCheck" >
Remember me
</label>
</div>
<button type= "submit" class= "btn btn-primary mb-2" > Submit</button>
</form>
Назоратҳо ва интихобҳои шакли фармоишӣ низ дастгирӣ мешаванд.
Нусхабардорӣ
<form class= "form-inline" >
<label class= "my-1 mr-2" for= "inlineFormCustomSelectPref" > Preference</label>
<select class= "custom-select my-1 mr-sm-2" id= "inlineFormCustomSelectPref" >
<option selected > Choose...</option>
<option value= "1" > One</option>
<option value= "2" > Two</option>
<option value= "3" > Three</option>
</select>
<div class= "custom-control custom-checkbox my-1 mr-sm-2" >
<input type= "checkbox" class= "custom-control-input" id= "customControlInline" >
<label class= "custom-control-label" for= "customControlInline" > Remember my preference</label>
</div>
<button type= "submit" class= "btn btn-primary my-1" > Submit</button>
</form>
Алтернативаҳо ба тамғакоғазҳои пинҳон
Технологияҳои ёрирасон ба монанди хонандагони экран бо шаклҳои шумо мушкилот хоҳанд дошт, агар шумо барои ҳар як вуруд тамға нагузоред. Барои ин шаклҳои сатрӣ, шумо метавонед тамғаҳоро бо истифода аз .sr-only
синф пинҳон кунед. Усулҳои дигари алтернативии пешниҳоди тамға барои технологияҳои ёрирасон мавҷуданд, ба монанди aria-label
, aria-labelledby
ё title
атрибут. Агар ҳеҷ яке аз инҳо вуҷуд надошта бошанд, технологияҳои ёрирасон метавонанд ба истифодаи placeholder
атрибут муроҷиат кунанд, агар мавҷуд бошад, аммо қайд кунед, ки истифодаи он placeholder
ҳамчун ивазкунандаи усулҳои тамғагузорӣ тавсия дода намешавад.
Матни кӯмак
Матни кӯмаки сатҳи блокро дар формаҳо бо истифода аз .form-text
(қаблан .help-block
дар v3 маълум буд) сохтан мумкин аст. Матни кӯмаки дохилиро метавон бо истифода аз ҳама гуна унсури дохилии HTML ва синфҳои утилитӣ ба монанди .text-muted
.
Алоқаи матни кӯмак бо идоракунии форма
Матни кӯмак бояд ба таври возеҳ бо идоракунии форма, ки ба истифодаи атрибут алоқаманд аст, aria-describedby
алоқаманд бошад. Ин кафолат медиҳад, ки технологияҳои ёрирасон, аз қабили хонандагони экран, вақте ки корбар тамаркуз мекунад ё ба идора ворид мешавад, ин матни ёриро эълон хоҳад кард.
Матни ёри дар зер воридшударо метавон бо услуби .form-text
. Ин синф display: block
барои фосилаи осон аз вурудоти дар боло овардашуда каме маржаи болоро дар бар мегирад ва илова мекунад.
Рамз
Пароли шумо бояд 8-20 аломат дошта бошад, дорои ҳарфҳо ва рақамҳо бошад ва набояд фосила, аломатҳои махсус ё эмодзи дошта бошад.
Нусхабардорӣ
<label for= "inputPassword5" > Password</label>
<input type= "password" id= "inputPassword5" class= "form-control" aria-describedby= "passwordHelpBlock" >
<small id= "passwordHelpBlock" class= "form-text text-muted" >
Your password must be 8-20 characters long, contain letters and numbers, and must not contain spaces, special characters, or emoji.
</small>
Матни дарунсохт метавонад ҳама гуна унсури муқаррарии HTML-ро (хоҳ он <small>
, <span>
, хоҳ чизи дигар) истифода барад, ки ғайр аз синфи утилита дигар чизе набошад.
Нусхабардорӣ
<form class= "form-inline" >
<div class= "form-group" >
<label for= "inputPassword6" > Password</label>
<input type= "password" id= "inputPassword6" class= "form-control mx-sm-3" aria-describedby= "passwordHelpInline" >
<small id= "passwordHelpInline" class= "text-muted" >
Must be 8-20 characters long.
</small>
</div>
</form>
Барои disabled
пешгирӣ кардани муоширати корбарон ва сабуктар зоҳир кардани он аттрибутҳои логикиро ба вуруд илова кунед.
Нусхабардорӣ
<input class= "form-control" id= "disabledInput" type= "text" placeholder= "Disabled input here..." disabled >
Барои ғайрифаъол кардани ҳамаи идораҳо дар дохили он disabled
аттрибутиро ба a илова кунед.<fieldset>
Нусхабардорӣ
<form>
<fieldset disabled >
<div class= "form-group" >
<label for= "disabledTextInput" > Disabled input</label>
<input type= "text" id= "disabledTextInput" class= "form-control" placeholder= "Disabled input" >
</div>
<div class= "form-group" >
<label for= "disabledSelect" > Disabled select menu</label>
<select id= "disabledSelect" class= "form-control" >
<option> Disabled select</option>
</select>
</div>
<div class= "form-group" >
<div class= "form-check" >
<input class= "form-check-input" type= "checkbox" id= "disabledFieldsetCheck" disabled >
<label class= "form-check-label" for= "disabledFieldsetCheck" >
Can't check this
</label>
</div>
</div>
<button type= "submit" class= "btn btn-primary" > Submit</button>
</fieldset>
</form>
Огоҳӣ бо лангар
Ба таври нобаёнӣ, браузерҳо ҳама идоракунии шаклҳои модариро ( <input>
, <select>
ва <button>
унсурҳоро) дар дохили a <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, мо наметавонем (ҳоло) сабкҳоро ба a <label>
, ки пеш аз назорати форма дар DOM меояд, бе ёрии JavaScript фармоишӣ истифода барем.
Ҳама браузерҳои муосир API-и санҷиши маҳдудкуниро , як қатор усулҳои JavaScript-ро барои тасдиқи назорати шакл дастгирӣ мекунанд.
Паёмҳои фикру мулоҳизаҳо метавонанд пешфарзҳои браузерро (барои ҳар як браузер гуногун ва аз тариқи CSS номуносиб) ё услубҳои бознигарии фармоишии моро бо HTML ва CSS иловагӣ истифода баранд.
Шумо метавонед паёмҳои эътибории фармоиширо бо setCustomValidity
JavaScript пешниҳод кунед.
Бо дарназардошти ин, намоишҳои зеринро барои услубҳои тасдиқи формаи мо, синфҳои ихтиёрии сервер ва пешфарзҳои браузер баррасӣ кунед.
Услубҳои фармоишӣ
Барои паёмҳои тасдиқи шакли Bootstrap, ба шумо лозим меояд, ки novalidate
атрибути логикиро ба <form>
. Ин маслиҳатҳои пешфарзии баррасиҳои браузерро ғайрифаъол мекунад, аммо ба ҳар ҳол дастрасӣ ба API-ҳои тасдиқи формаро дар JavaScript таъмин мекунад. Кӯшиш кунед, ки шакли зерро пешниҳод кунед; JavaScript-и мо тугмаи ирсолро пахш мекунад ва фикру мулоҳизаҳоро ба шумо мефиристад. Ҳангоми кӯшиши фиристодан, шумо :invalid
ва :valid
сабкҳоро мебинед, ки ба идоракунии шакли шумо истифода мешаванд.
Услубҳои баррасиҳои фармоишӣ рангҳои фармоишӣ, сарҳадҳо, услубҳои фокус ва нишонаҳои пасзаминаро барои беҳтар муоширати фикру мулоҳиза истифода мебаранд. Нишонаҳои заминавӣ барои <select>
s танҳо бо .custom-select
, дастрасанд, на .form-control
.
Нусхабардорӣ
<form class= "needs-validation" novalidate >
<div class= "form-row" >
<div class= "col-md-4 mb-3" >
<label for= "validationCustom01" > First name</label>
<input type= "text" class= "form-control" id= "validationCustom01" placeholder= "First name" value= "Mark" required >
<div class= "valid-feedback" >
Looks good!
</div>
</div>
<div class= "col-md-4 mb-3" >
<label for= "validationCustom02" > Last name</label>
<input type= "text" class= "form-control" id= "validationCustom02" placeholder= "Last name" value= "Otto" required >
<div class= "valid-feedback" >
Looks good!
</div>
</div>
<div class= "col-md-4 mb-3" >
<label for= "validationCustomUsername" > Username</label>
<div class= "input-group" >
<div class= "input-group-prepend" >
<span class= "input-group-text" id= "inputGroupPrepend" > @</span>
</div>
<input type= "text" class= "form-control" id= "validationCustomUsername" placeholder= "Username" aria-describedby= "inputGroupPrepend" required >
<div class= "invalid-feedback" >
Please choose a username.
</div>
</div>
</div>
</div>
<div class= "form-row" >
<div class= "col-md-6 mb-3" >
<label for= "validationCustom03" > City</label>
<input type= "text" class= "form-control" id= "validationCustom03" placeholder= "City" required >
<div class= "invalid-feedback" >
Please provide a valid city.
</div>
</div>
<div class= "col-md-3 mb-3" >
<label for= "validationCustom04" > State</label>
<input type= "text" class= "form-control" id= "validationCustom04" placeholder= "State" required >
<div class= "invalid-feedback" >
Please provide a valid state.
</div>
</div>
<div class= "col-md-3 mb-3" >
<label for= "validationCustom05" > Zip</label>
<input type= "text" class= "form-control" id= "validationCustom05" placeholder= "Zip" required >
<div class= "invalid-feedback" >
Please provide a valid zip.
</div>
</div>
</div>
<div class= "form-group" >
<div class= "form-check" >
<input class= "form-check-input" type= "checkbox" value= "" id= "invalidCheck" required >
<label class= "form-check-label" for= "invalidCheck" >
Agree to terms and conditions
</label>
<div class= "invalid-feedback" >
You must agree before submitting.
</div>
</div>
</div>
<button class= "btn btn-primary" type= "submit" > Submit form</button>
</form>
<script>
// Example starter JavaScript for disabling form submissions if there are invalid fields
( function () {
'use strict' ;
window . addEventListener ( 'load' , function () {
// Fetch all the forms we want to apply custom Bootstrap validation styles to
var forms = document . getElementsByClassName ( 'needs-validation' );
// Loop over them and prevent submission
var validation = Array . prototype . filter . call ( forms , function ( form ) {
form . addEventListener ( 'submit' , function ( event ) {
if ( form . checkValidity () === false ) {
event . preventDefault ();
event . stopPropagation ();
}
form . classList . add ( 'was-validated' );
}, false );
});
}, false );
})();
</script>
Пешфарзҳои браузер
Оё ба паёмҳои бозгашти фармоишӣ ё навиштани JavaScript барои тағир додани рафтори шакл манфиатдор нестед? Ҳама хуб, шумо метавонед пешфарзҳои браузерро истифода баред. Кӯшиш кунед, ки шакли зерро пешниҳод кунед. Вобаста аз браузер ва OS, шумо услуби каме фарқкунандаи фикру мулоҳизаҳоро хоҳед дид.
Гарчанде ки ин услубҳои фикру мулоҳизаҳоро бо CSS услуб кардан мумкин нест, шумо ба ҳар ҳол метавонед матни фикру мулоҳизаҳоро тавассути JavaScript танзим кунед.
Нусхабардорӣ
<form>
<div class= "form-row" >
<div class= "col-md-4 mb-3" >
<label for= "validationDefault01" > First name</label>
<input type= "text" class= "form-control" id= "validationDefault01" placeholder= "First name" value= "Mark" required >
</div>
<div class= "col-md-4 mb-3" >
<label for= "validationDefault02" > Last name</label>
<input type= "text" class= "form-control" id= "validationDefault02" placeholder= "Last name" value= "Otto" required >
</div>
<div class= "col-md-4 mb-3" >
<label for= "validationDefaultUsername" > Username</label>
<div class= "input-group" >
<div class= "input-group-prepend" >
<span class= "input-group-text" id= "inputGroupPrepend2" > @</span>
</div>
<input type= "text" class= "form-control" id= "validationDefaultUsername" placeholder= "Username" aria-describedby= "inputGroupPrepend2" required >
</div>
</div>
</div>
<div class= "form-row" >
<div class= "col-md-6 mb-3" >
<label for= "validationDefault03" > City</label>
<input type= "text" class= "form-control" id= "validationDefault03" placeholder= "City" required >
</div>
<div class= "col-md-3 mb-3" >
<label for= "validationDefault04" > State</label>
<input type= "text" class= "form-control" id= "validationDefault04" placeholder= "State" required >
</div>
<div class= "col-md-3 mb-3" >
<label for= "validationDefault05" > Zip</label>
<input type= "text" class= "form-control" id= "validationDefault05" placeholder= "Zip" required >
</div>
</div>
<div class= "form-group" >
<div class= "form-check" >
<input class= "form-check-input" type= "checkbox" value= "" id= "invalidCheck2" required >
<label class= "form-check-label" for= "invalidCheck2" >
Agree to terms and conditions
</label>
</div>
</div>
<button class= "btn btn-primary" type= "submit" > Submit form</button>
</form>
Ҷониби сервер
Мо тавсия медиҳем, ки тасдиқи ҷониби муштарӣ истифода барем, аммо агар шумо тасдиқи тарафи серверро талаб кунед, шумо метавонед майдонҳои шаклҳои беэътибор ва дурустро бо .is-invalid
ва нишон диҳед .is-valid
. Дар хотир доред, .invalid-feedback
ки бо ин синфҳо низ дастгирӣ карда мешавад.
Нусхабардорӣ
<form>
<div class= "form-row" >
<div class= "col-md-4 mb-3" >
<label for= "validationServer01" > First name</label>
<input type= "text" class= "form-control is-valid" id= "validationServer01" placeholder= "First name" value= "Mark" required >
<div class= "valid-feedback" >
Looks good!
</div>
</div>
<div class= "col-md-4 mb-3" >
<label for= "validationServer02" > Last name</label>
<input type= "text" class= "form-control is-valid" id= "validationServer02" placeholder= "Last name" value= "Otto" required >
<div class= "valid-feedback" >
Looks good!
</div>
</div>
<div class= "col-md-4 mb-3" >
<label for= "validationServerUsername" > Username</label>
<div class= "input-group" >
<div class= "input-group-prepend" >
<span class= "input-group-text" id= "inputGroupPrepend3" > @</span>
</div>
<input type= "text" class= "form-control is-invalid" id= "validationServerUsername" placeholder= "Username" aria-describedby= "inputGroupPrepend3" required >
<div class= "invalid-feedback" >
Please choose a username.
</div>
</div>
</div>
</div>
<div class= "form-row" >
<div class= "col-md-6 mb-3" >
<label for= "validationServer03" > City</label>
<input type= "text" class= "form-control is-invalid" id= "validationServer03" placeholder= "City" required >
<div class= "invalid-feedback" >
Please provide a valid city.
</div>
</div>
<div class= "col-md-3 mb-3" >
<label for= "validationServer04" > State</label>
<input type= "text" class= "form-control is-invalid" id= "validationServer04" placeholder= "State" required >
<div class= "invalid-feedback" >
Please provide a valid state.
</div>
</div>
<div class= "col-md-3 mb-3" >
<label for= "validationServer05" > Zip</label>
<input type= "text" class= "form-control is-invalid" id= "validationServer05" placeholder= "Zip" required >
<div class= "invalid-feedback" >
Please provide a valid zip.
</div>
</div>
</div>
<div class= "form-group" >
<div class= "form-check" >
<input class= "form-check-input is-invalid" type= "checkbox" value= "" id= "invalidCheck3" required >
<label class= "form-check-label" for= "invalidCheck3" >
Agree to terms and conditions
</label>
<div class= "invalid-feedback" >
You must agree before submitting.
</div>
</div>
</div>
<button class= "btn btn-primary" type= "submit" > Submit form</button>
</form>
Унсурҳои дастгирӣшаванда
Шаклҳои намунавии мо матнҳои аслии матниро дар боло нишон медиҳанд, аммо услубҳои тасдиқи шакл барои s ва назорати формаҳои фармоишӣ <input>
низ дастрасанд .<textarea>
Нусхабардорӣ
<form class= "was-validated" >
<div class= "mb-3" >
<label for= "validationTextarea" > Textarea</label>
<textarea class= "form-control is-invalid" id= "validationTextarea" placeholder= "Required example textarea" required ></textarea>
<div class= "invalid-feedback" >
Please enter a message in the textarea.
</div>
</div>
<div class= "custom-control custom-checkbox mb-3" >
<input type= "checkbox" class= "custom-control-input" id= "customControlValidation1" required >
<label class= "custom-control-label" for= "customControlValidation1" > Check this custom checkbox</label>
<div class= "invalid-feedback" > Example invalid feedback text</div>
</div>
<div class= "custom-control custom-radio" >
<input type= "radio" class= "custom-control-input" id= "customControlValidation2" name= "radio-stacked" required >
<label class= "custom-control-label" for= "customControlValidation2" > Toggle this custom radio</label>
</div>
<div class= "custom-control custom-radio mb-3" >
<input type= "radio" class= "custom-control-input" id= "customControlValidation3" name= "radio-stacked" required >
<label class= "custom-control-label" for= "customControlValidation3" > Or toggle this other custom radio</label>
<div class= "invalid-feedback" > More example invalid feedback text</div>
</div>
<div class= "form-group" >
<select class= "custom-select" required >
<option value= "" > Open this select menu</option>
<option value= "1" > One</option>
<option value= "2" > Two</option>
<option value= "3" > Three</option>
</select>
<div class= "invalid-feedback" > Example invalid custom select feedback</div>
</div>
<div class= "custom-file" >
<input type= "file" class= "custom-file-input" id= "validatedCustomFile" required >
<label class= "custom-file-label" for= "validatedCustomFile" > Choose file...</label>
<div class= "invalid-feedback" > Example invalid custom file feedback</div>
</div>
</form>
Агар тарҳбандии формаи шумо ба он иҷозат диҳад, шумо метавонед .{valid|invalid}-feedback
дарсҳоро барои .{valid|invalid}-tooltip
дарсҳо иваз кунед, то фикру мулоҳизаҳои тасдиқкуниро дар як лавҳаи услубӣ нишон диҳанд. Боварӣ ҳосил кунед, ки волидайн бо position: relative
он барои ҷойгиркунии асбобҳо дошта бошед. Дар мисоли зер, синфҳои сутуни мо аллакай инро доранд, аммо лоиҳаи шумо метавонад танзимоти алтернативӣ талаб кунад.
Нусхабардорӣ
<form class= "needs-validation" novalidate >
<div class= "form-row" >
<div class= "col-md-4 mb-3" >
<label for= "validationTooltip01" > First name</label>
<input type= "text" class= "form-control" id= "validationTooltip01" placeholder= "First name" value= "Mark" required >
<div class= "valid-tooltip" >
Looks good!
</div>
</div>
<div class= "col-md-4 mb-3" >
<label for= "validationTooltip02" > Last name</label>
<input type= "text" class= "form-control" id= "validationTooltip02" placeholder= "Last name" value= "Otto" required >
<div class= "valid-tooltip" >
Looks good!
</div>
</div>
<div class= "col-md-4 mb-3" >
<label for= "validationTooltipUsername" > Username</label>
<div class= "input-group" >
<div class= "input-group-prepend" >
<span class= "input-group-text" id= "validationTooltipUsernamePrepend" > @</span>
</div>
<input type= "text" class= "form-control" id= "validationTooltipUsername" placeholder= "Username" aria-describedby= "validationTooltipUsernamePrepend" required >
<div class= "invalid-tooltip" >
Please choose a unique and valid username.
</div>
</div>
</div>
</div>
<div class= "form-row" >
<div class= "col-md-6 mb-3" >
<label for= "validationTooltip03" > City</label>
<input type= "text" class= "form-control" id= "validationTooltip03" placeholder= "City" required >
<div class= "invalid-tooltip" >
Please provide a valid city.
</div>
</div>
<div class= "col-md-3 mb-3" >
<label for= "validationTooltip04" > State</label>
<input type= "text" class= "form-control" id= "validationTooltip04" placeholder= "State" required >
<div class= "invalid-tooltip" >
Please provide a valid state.
</div>
</div>
<div class= "col-md-3 mb-3" >
<label for= "validationTooltip05" > Zip</label>
<input type= "text" class= "form-control" id= "validationTooltip05" placeholder= "Zip" required >
<div class= "invalid-tooltip" >
Please provide a valid zip.
</div>
</div>
</div>
<button class= "btn btn-primary" type= "submit" > Submit form</button>
</form>
Барои мутобиқсозии боз ҳам бештар ва мутобиқати браузер, унсурҳои шакли комилан фармоишии моро барои иваз кардани пешфарзҳои браузер истифода баред. Онҳо дар болои аломатгузории семантикӣ ва дастрас сохта шудаанд, аз ин рӯ онҳо барои ҳама гуна назорати пешфарз ивазкунандаи устувор мебошанд.
Санҷишҳо ва радиоҳо
Ҳар як қуттии қайд ва радио <input>
ва <label>
ҷуфткунӣ дар як печонида шудааст, <div>
то назорати фармоишии моро эҷод кунад. Аз ҷиҳати сохторӣ, ин ҳамон равишест, ки пешфарзи мост .form-check
.
Мо селектори бародар ( ~
) -ро барои ҳама иёлатҳои худ истифода мебарем, <input>
масалан :checked
- барои дуруст услуб кардани нишондиҳандаи шакли фармоишии мо. Вақте ки бо .custom-control-label
синф якҷоя карда мешавад, мо инчунин метавонем матнро барои ҳар як ҷузъ дар асоси ҳолати <input>
' услубӣ созем.
Мо пешфарзро <input>
бо пинҳон мекунем opacity
ва .custom-control-label
барои сохтани нишондиҳандаи шакли нави фармоишӣ дар ҷои он бо ::before
ва истифода мебарем ::after
. Мутаассифона, мо наметавонем як фармоиширо аз он созем, <input>
зеро CSS content
дар ин элемент кор намекунад.
Дар иёлатҳои санҷидашуда мо нишонаҳои SVG-и дарунсохташудаи base64 аз Open Iconic -ро истифода мебарем . Ин ба мо беҳтарин назорати услуб ва ҷойгиркунӣ дар браузерҳо ва дастгоҳҳоро медиҳад.
Қуттиҳои қайд
Нусхабардорӣ
<div class= "custom-control custom-checkbox" >
<input type= "checkbox" class= "custom-control-input" id= "customCheck1" >
<label class= "custom-control-label" for= "customCheck1" > Check this custom checkbox</label>
</div>
Қуттиҳои фармоишӣ инчунин метавонанд :indeterminate
синфи псевдоро ҳангоми ба таври дастӣ тавассути JavaScript насб кардан истифода баранд (барои нишон додани он ягон атрибути дастраси HTML мавҷуд нест).
Агар шумо jQuery-ро истифода баред, чизе монанди ин кифоя аст:
Нусхабардорӣ
$ ( '.your-checkbox' ). prop ( 'indeterminate' , true )
Радиохо
Нусхабардорӣ
<div class= "custom-control custom-radio" >
<input type= "radio" id= "customRadio1" name= "customRadio" class= "custom-control-input" >
<label class= "custom-control-label" for= "customRadio1" > Toggle this custom radio</label>
</div>
<div class= "custom-control custom-radio" >
<input type= "radio" id= "customRadio2" name= "customRadio" class= "custom-control-input" >
<label class= "custom-control-label" for= "customRadio2" > Or toggle this other custom radio</label>
</div>
Дар мувофиқат
Нусхабардорӣ
<div class= "custom-control custom-radio custom-control-inline" >
<input type= "radio" id= "customRadioInline1" name= "customRadioInline1" class= "custom-control-input" >
<label class= "custom-control-label" for= "customRadioInline1" > Toggle this custom radio</label>
</div>
<div class= "custom-control custom-radio custom-control-inline" >
<input type= "radio" id= "customRadioInline2" name= "customRadioInline1" class= "custom-control-input" >
<label class= "custom-control-label" for= "customRadioInline2" > Or toggle this other custom radio</label>
</div>
Маъюб
Қуттиҳои фармоишӣ ва радиоҳоро низ ғайрифаъол кардан мумкин аст. Ба disabled
атрибути логикӣ илова кунед <input>
ва нишондиҳандаи фармоишӣ ва тавсифи нишона ба таври худкор услубӣ карда мешавад.
Нусхабардорӣ
<div class= "custom-control custom-checkbox" >
<input type= "checkbox" class= "custom-control-input" id= "customCheckDisabled1" disabled >
<label class= "custom-control-label" for= "customCheckDisabled1" > Check this custom checkbox</label>
</div>
<div class= "custom-control custom-radio" >
<input type= "radio" name= "radioDisabled" id= "customRadioDisabled2" class= "custom-control-input" disabled >
<label class= "custom-control-label" for= "customRadioDisabled2" > Toggle this custom radio</label>
</div>
Гузаришҳо
Гузариш дорои аломати қуттии санҷиши фармоишӣ мебошад, аммо .custom-switch
синфро барои интиқоли гузариш истифода мебарад. Гузаришҳо инчунин атрибутро дастгирӣ мекунанд disabled
.
Нусхабардорӣ
<div class= "custom-control custom-switch" >
<input type= "checkbox" class= "custom-control-input" id= "customSwitch1" >
<label class= "custom-control-label" for= "customSwitch1" > Toggle this switch element</label>
</div>
<div class= "custom-control custom-switch" >
<input type= "checkbox" class= "custom-control-input" disabled id= "customSwitch2" >
<label class= "custom-control-label" for= "customSwitch2" > Disabled switch element</label>
</div>
Менюҳои <select>
фармоишӣ танҳо ба синфи фармоишӣ ниёз доранд, .custom-select
то услубҳои фармоиширо ангеза кунанд. Сабкҳои фармоишӣ бо намуди ибтидоии ' маҳдуданд <select>
ва наметавонанд <option>
s-ро бо сабаби маҳдудиятҳои браузер тағир диҳанд.
Ин менюи интихобро кушоед Як Ду Се
Нусхабардорӣ
<select class= "custom-select" >
<option selected > Open this select menu</option>
<option value= "1" > One</option>
<option value= "2" > Two</option>
<option value= "3" > Three</option>
</select>
Шумо инчунин метавонед аз интихобҳои хурд ва калон интихоб кунед, то ба воридоти матнии якхелаи мо мувофиқат кунанд.
Ин менюи интихобро кушоед Як Ду Се
Ин менюи интихобро кушоед Як Ду Се
Нусхабардорӣ
<select class= "custom-select custom-select-lg mb-3" >
<option selected > Open this select menu</option>
<option value= "1" > One</option>
<option value= "2" > Two</option>
<option value= "3" > Three</option>
</select>
<select class= "custom-select custom-select-sm" >
<option selected > Open this select menu</option>
<option value= "1" > One</option>
<option value= "2" > Two</option>
<option value= "3" > Three</option>
</select>
Аттрибут multiple
инчунин дастгирӣ карда мешавад:
Ин менюи интихобро кушоед Як Ду Се
Нусхабардорӣ
<select class= "custom-select" multiple >
<option selected > Open this select menu</option>
<option value= "1" > One</option>
<option value= "2" > Two</option>
<option value= "3" > Three</option>
</select>
Тавре ки size
сифат аст:
Ин менюи интихобро кушоед Як Ду Се
Нусхабардорӣ
<select class= "custom-select" size= "3" >
<option selected > Open this select menu</option>
<option value= "1" > One</option>
<option value= "2" > Two</option>
<option value= "3" > Three</option>
</select>
Диапазон
Эҷоди <input type="range">
назорати фармоишӣ бо .custom-range
. Роҳ (замина) ва ангушти калон (қимат) ҳарду тарҳрезӣ шудаанд, ки дар тамоми браузерҳо якхела бошанд. Азбаски танҳо IE ва Firefox "пур кардани" пайроҳаи худро аз чап ё рости ангушти калон ҳамчун воситаи нишон додани пешрафти визуалӣ дастгирӣ мекунанд, мо ҳоло онро дастгирӣ намекунем.
Мисоли диапазон
Нусхабардорӣ
<label for= "customRange1" > Example range</label>
<input type= "range" class= "custom-range" id= "customRange1" >
Вурудҳои диапазон мутаносибан барои min
ва max
- 0
ва арзишҳои номуайян 100
доранд. min
Шумо метавонед барои онҳое, ки max
атрибутҳои варо истифода мебаранд, арзишҳои нав таъин кунед .
Мисоли диапазон
Нусхабардорӣ
<label for= "customRange2" > Example range</label>
<input type= "range" class= "custom-range" min= "0" max= "5" id= "customRange2" >
Бо нобаёнӣ, диапазон воридотро ба арзишҳои бутун "часп" мекунад. Барои тағир додани ин, шумо метавонед step
арзишро муайян кунед. Дар мисоли дар поён овардашуда, мо бо истифода аз step="0.5"
.
Мисоли диапазон
Нусхабардорӣ
<label for= "customRange3" > Example range</label>
<input type= "range" class= "custom-range" min= "0" max= "5" step= "0.5" id= "customRange3" >
Браузери файл
Васлкунаки тавсияшуда барои аниматсия кардани вуруди файли фармоишӣ: bs-custom-file-input , он чизест, ки мо ҳоло дар ҳуҷҷатҳои худ истифода мебарем.
Вуруди файл аз ҳама ғамхортарин аст ва JavaScript-и иловагиро талаб мекунад, агар шумо хоҳед, ки онҳоро бо функсионалии Интихоби файл… ва матни номи файли интихобшуда пайваст кунед.
Нусхабардорӣ
<div class= "custom-file" >
<input type= "file" class= "custom-file-input" id= "customFile" >
<label class= "custom-file-label" for= "customFile" > Choose file</label>
</div>
Мо файли пешфарзро <input>
тавассути пинҳон мекунем opacity
ва ба ҷои он услуби <label>
. Тугма бо тавлид ва ҷойгир карда ::after
мешавад. Ниҳоят, мо дар бораи фосилаи дуруст барои мундариҷаи атроф width
эълон мекунем.height
<input>
Тарҷума ё танзим кардани сатрҳо бо SCSS
Синфи :lang()
псевдо-синф барои тарҷумаи матни "Мураттаб" ба забонҳои дигар истифода мешавад. Сабтҳоро ба $custom-file-text
тағирёбандаи Sass бо барчаспҳои забонии мувофиқ ва сатрҳои маҳаллӣ илова кунед. Сатрҳои англисиро низ ҳамин тавр танзим кардан мумкин аст. Масалан, ин аст, ки чӣ тавр як тарҷумаи испаниро илова кардан мумкин аст (рамзи забони испанӣ es
):
Нусхабардорӣ
$custom-file-text : (
en : "Browse" ,
es : "Elegir"
);
Дар ин ҷо lang(es)
амал дар вуруди файли фармоишӣ барои тарҷумаи испанӣ:
Нусхабардорӣ
<div class= "custom-file" >
<input type= "file" class= "custom-file-input" id= "customFileLang" lang= "es" >
<label class= "custom-file-label" for= "customFileLang" > Seleccionar Archivo</label>
</div>
Шумо бояд забони ҳуҷҷати худро (ё зердарахти онро) дуруст танзим кунед, то матни дуруст нишон дода шавад. Инро метавон бо истифода аз lang
атрибут дар <html>
элемент ё Content-Language
сарлавҳаи HTTP , дар байни усулҳои дигар анҷом дод.
Тарҷума ё танзим кардани сатрҳо бо HTML
Bootstrap инчунин роҳи тарҷумаи матни "Муборак" дар HTML бо data-browse
атрибутеро пешниҳод мекунад, ки мумкин аст ба нишони вуруди фармоишӣ илова карда шавад (мисол ба забони голландӣ):
Нусхабардорӣ
<div class= "custom-file" >
<input type= "file" class= "custom-file-input" id= "customFileLangHTML" >
<label class= "custom-file-label" for= "customFileLangHTML" data-browse= "Bestand kiezen" > Voeg je document toe</label>
</div>