Шаклҳо
Намунаҳо ва дастурҳои истифода барои услубҳои идоракунии шакл, имконоти тарҳбандӣ ва ҷузъҳои фармоишӣ барои эҷоди шаклҳои васеи шакл.
Барраси
Назорати формаи 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">
<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">
</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">
</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-и онҳоро беҳтар мекунад . Қуттиҳои қайдҳо барои интихоби як ё якчанд вариант дар рӯйхат мебошанд, дар ҳоле ки радиоҳо барои интихоби як вариант аз бисёриҳо мебошанд.
Қуттиҳои ғайрифаъол ва радиоҳо дастгирӣ карда мешаванд. Аттрибут disabled
ранги сабуктареро ба кор мебарад, то ҳолати вурудро нишон диҳад.
Қуттиҳои қайд ва тугмаҳои радио тасдиқи шаклро дар асоси 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 placeholder">
</div>
<div class="form-group">
<label for="formGroupExampleInput2">Another label</label>
<input type="text" class="form-control" id="formGroupExampleInput2" placeholder="Another input placeholder">
</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">
</div>
<div class="form-group col-md-6">
<label for="inputPassword4">Password</label>
<input type="password" class="form-control" id="inputPassword4">
</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">
</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">
</div>
</div>
<fieldset class="form-group row">
<legend class="col-form-label col-sm-2 float-sm-left 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>
</fieldset>
<div class="form-group row">
<div class="col-sm-10 offset-sm-2">
<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>
Шаклҳои inline
Синфро .form-inline
барои намоиш додани як қатор тамғакоғазҳо, идоракунии шакл ва тугмаҳо дар як сатри уфуқӣ истифода баред. Назорати форма дар дохили шаклҳо аз ҳолати пешфарзашон каме фарқ мекунад.
- Назоратҳо инҳоянд
display: flex
, ки ҳама гуна фазои сафеди HTML-ро вайрон мекунанд ва ба шумо имкон медиҳанд, ки назорати ҳамоҳангиро бо фосила ва утилитаҳои flexbox таъмин кунед . - Назоратҳо ва гурӯҳҳои воридотӣ
width: auto
барои бекор кардани пешфарзи Bootstrapwidth: 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
барои фосилаи осон аз вурудоти дар боло овардашуда каме маржаи болоро дар бар мегирад ва илова мекунад.
<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>
<legend>Disabled fieldset example</legend>
<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 пурра дастгирӣ намешавад. бо истифода аз клавиатура мутамарказ ва фаъол. Шумо бояд ин идораҳоро тавассути илова ба таври дастӣ тағир диҳед tabindex="-1"
, то онҳо аз гирифтани фокус пешгирӣ кунед ва aria-disabled="disabled"
ҳолати онҳоро ба технологияҳои ёрирасон сигнал диҳед.
Мутобиқати кросс-браузер
Гарчанде ки Bootstrap ин услубҳоро дар ҳама браузерҳо татбиқ мекунад, Internet Explorer 11 ва поёнтар ин disabled
атрибутро дар <fieldset>
. Барои хомӯш кардани маҷмӯи майдонҳо дар ин браузерҳо JavaScript-и фармоиширо истифода баред.
Санҷиш
Бо тасдиқи шакли HTML5 ба корбарони худ фикру мулоҳизаҳои арзишманд ва қобили амал пешниҳод кунед – дар ҳама браузерҳои дастгирӣшавандаи мо дастрас аст. Аз браузери пешфарз фикру мулоҳизаҳои тасдиқи пешфарзро интихоб кунед ё паёмҳои фармоиширо бо синфҳои дарунсохт ва JavaScript оғозкунандаи мо татбиқ кунед.
Он чӣ гуна кор мекунад
Ин аст, ки чӣ тавр тасдиқи форма бо 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-6 mb-3">
<label for="validationCustom01">First name</label>
<input type="text" class="form-control" id="validationCustom01" value="Mark" required>
<div class="valid-feedback">
Looks good!
</div>
</div>
<div class="col-md-6 mb-3">
<label for="validationCustom02">Last name</label>
<input type="text" class="form-control" id="validationCustom02" value="Otto" required>
<div class="valid-feedback">
Looks good!
</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" required>
<div class="invalid-feedback">
Please provide a valid city.
</div>
</div>
<div class="col-md-3 mb-3">
<label for="validationCustom04">State</label>
<select class="custom-select" id="validationCustom04" required>
<option selected disabled value="">Choose...</option>
<option>...</option>
</select>
<div class="invalid-feedback">
Please select 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" 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-6 mb-3">
<label for="validationDefault01">First name</label>
<input type="text" class="form-control" id="validationDefault01" value="Mark" required>
</div>
<div class="col-md-6 mb-3">
<label for="validationDefault02">Last name</label>
<input type="text" class="form-control" id="validationDefault02" value="Otto" required>
</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" required>
</div>
<div class="col-md-3 mb-3">
<label for="validationDefault04">State</label>
<select class="custom-select" id="validationDefault04" required>
<option selected disabled value="">Choose...</option>
<option>...</option>
</select>
</div>
<div class="col-md-3 mb-3">
<label for="validationDefault05">Zip</label>
<input type="text" class="form-control" id="validationDefault05" 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
ки бо ин синфҳо низ дастгирӣ карда мешавад.
Барои майдонҳои беэътибор, боварӣ ҳосил кунед, ки паёми беэътибор/хато бо майдони мувофиқ бо истифода аз aria-describedby
. Ин атрибут имкон медиҳад, ки зиёда аз як нафар id
истинод карда шаванд, агар майдон аллакай ба матни шакли иловагӣ ишора кунад.
<form>
<div class="form-row">
<div class="col-md-6 mb-3">
<label for="validationServer01">First name</label>
<input type="text" class="form-control is-valid" id="validationServer01" value="Mark" required>
<div class="valid-feedback">
Looks good!
</div>
</div>
<div class="col-md-6 mb-3">
<label for="validationServer02">Last name</label>
<input type="text" class="form-control is-valid" id="validationServer02" value="Otto" required>
<div class="valid-feedback">
Looks good!
</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" aria-describedby="validationServer03Feedback" required>
<div id="validationServer03Feedback" class="invalid-feedback">
Please provide a valid city.
</div>
</div>
<div class="col-md-3 mb-3">
<label for="validationServer04">State</label>
<select class="custom-select is-invalid" id="validationServer04" aria-describedby="validationServer04Feedback" required>
<option selected disabled value="">Choose...</option>
<option>...</option>
</select>
<div id="validationServer04Feedback" class="invalid-feedback">
Please select 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" aria-describedby="validationServer05Feedback" required>
<div id="validationServer05Feedback" 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" aria-describedby="invalidCheck3Feedback" required>
<label class="form-check-label" for="invalidCheck3">
Agree to terms and conditions
</label>
<div id="invalidCheck3Feedback" class="invalid-feedback">
You must agree before submitting.
</div>
</div>
</div>
<button class="btn btn-primary" type="submit">Submit form</button>
</form>
Унсурҳои дастгирӣшаванда
Услубҳои тасдиқкунӣ барои идоракунӣ ва ҷузъҳои формаи зерин дастрасанд:
<input>
с ва<textarea>
с бо.form-control
<select>
с бо.form-control
ё.custom-select
.form-check
с.custom-checkbox
с ва.custom-radio
с.custom-file
<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="mb-3">
<select class="custom-select" required>
<option value="">Choose...</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 mb-3">
<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>
<div class="mb-3">
<div class="input-group is-invalid">
<div class="input-group-prepend">
<span class="input-group-text" id="validatedInputGroupPrepend">@</span>
</div>
<input type="text" class="form-control is-invalid" aria-describedby="validatedInputGroupPrepend" required>
</div>
<div class="invalid-feedback">
Example invalid input group feedback
</div>
</div>
<div class="mb-3">
<div class="input-group is-invalid">
<div class="input-group-prepend">
<label class="input-group-text" for="validatedInputGroupSelect">Options</label>
</div>
<select class="custom-select" id="validatedInputGroupSelect" required>
<option value="">Choose...</option>
<option value="1">One</option>
<option value="2">Two</option>
<option value="3">Three</option>
</select>
</div>
<div class="invalid-feedback">
Example invalid input group feedback
</div>
</div>
<div class="input-group is-invalid">
<div class="custom-file">
<input type="file" class="custom-file-input" id="validatedInputGroupCustomFile" required>
<label class="custom-file-label" for="validatedInputGroupCustomFile">Choose file...</label>
</div>
<div class="input-group-append">
<button class="btn btn-outline-secondary" type="button">Button</button>
</div>
</div>
<div class="invalid-feedback">
Example invalid input group feedback
</div>
</form>
Маслиҳатҳо
Агар тарҳбандии формаи шумо ба он иҷозат диҳад, шумо метавонед .{valid|invalid}-feedback
дарсҳоро барои .{valid|invalid}-tooltip
дарсҳо иваз кунед, то фикру мулоҳизаҳои тасдиқкуниро дар як лавҳаи услубӣ нишон диҳанд. Боварӣ ҳосил кунед, ки волидайн бо position: relative
он барои ҷойгиркунии асбобҳо дошта бошед. Дар мисоли зер, синфҳои сутуни мо аллакай инро доранд, аммо лоиҳаи шумо метавонад танзимоти алтернативӣ талаб кунад.
<form class="needs-validation" novalidate>
<div class="form-row">
<div class="col-md-6 mb-3">
<label for="validationTooltip01">First name</label>
<input type="text" class="form-control" id="validationTooltip01" value="Mark" required>
<div class="valid-tooltip">
Looks good!
</div>
</div>
<div class="col-md-6 mb-3">
<label for="validationTooltip02">Last name</label>
<input type="text" class="form-control" id="validationTooltip02" value="Otto" required>
<div class="valid-tooltip">
Looks good!
</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" required>
<div class="invalid-tooltip">
Please provide a valid city.
</div>
</div>
<div class="col-md-3 mb-3">
<label for="validationTooltip04">State</label>
<select class="custom-select" id="validationTooltip04" required>
<option selected disabled value="">Choose...</option>
<option>...</option>
</select>
<div class="invalid-tooltip">
Please select 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" required>
<div class="invalid-tooltip">
Please provide a valid zip.
</div>
</div>
</div>
<button class="btn btn-primary" type="submit">Submit form</button>
</form>
Мутобиқсозӣ
Ҳолатҳои тасдиқро тавассути Sass бо $form-validation-states
харита танзим кардан мумкин аст. Дар _variables.scss
файли мо ҷойгир аст, ки ин харитаи Sass барои тавлиди ҳолати пешфарз valid
/ invalid
тафтишкунӣ ҳал карда шудааст. Дар он харитаи лона барои танзими ранг ва нишонаи ҳар як давлат мавҷуд аст. Гарчанде ки ягон давлатҳои дигар аз ҷониби браузерҳо дастгирӣ намешаванд, онҳое, ки услубҳои фармоиширо истифода мебаранд, метавонанд ба осонӣ фикру мулоҳизаҳои мураккабтарро илова кунанд.
Лутфан қайд кунед, ки мо тавсия намедиҳем, ки ин арзишҳоро бидуни тағир додани form-validation-state
миксин низ танзим кунем.
// Sass map from `_variables.scss`
// Override this and recompile your Sass to generate different states
$form-validation-states: map-merge(
(
"valid": (
"color": $form-feedback-valid-color,
"icon": $form-feedback-icon-valid
),
"invalid": (
"color": $form-feedback-invalid-color,
"icon": $form-feedback-icon-invalid
)
),
$form-validation-states
);
// Loop from `_forms.scss`
// Any modifications to the above Sass map will be reflected in your compiled
// CSS via this loop.
@each $state, $data in $form-validation-states {
@include form-validation-state($state, map-get($data, color), map-get($data, icon));
}
Тасдиқи гурӯҳи воридотӣ
Барои муайян кардани он, ки ба кадом унсурҳо гӯшаҳои мудавваршуда дар дохили гурӯҳи вуруд бо тасдиқ лозим аст, гурӯҳи воридот .has-validation
синфи иловагиро талаб мекунад.
<div class="input-group has-validation">
<div class="input-group-prepend">
<span class="input-group-text">@</span>
</div>
<input type="text" class="form-control" required>
<div class="invalid-feedback">
Please choose a username.
</div>
</div>
Шаклҳои фармоишӣ
Барои мутобиқсозии боз ҳам бештар ва мутобиқати браузер, унсурҳои шакли комилан фармоишии моро барои иваз кардани пешфарзҳои браузер истифода баред. Онҳо дар болои аломатгузории семантикӣ ва дастрас сохта шудаанд, аз ин рӯ онҳо барои ҳама гуна назорати пешфарз ивазкунандаи устувор мебошанд.
Санҷишҳо ва радиоҳо
Ҳар як қуттии қайд ва радио <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="customRadioInline" 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="customRadioInline" 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">
Браузери файл
Вуруди файл аз ҳама ғамхортарин аст ва 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>