Формалар
Формаларды башкаруу стилдери, жайгашуу параметрлери жана ар кандай формаларды түзүү үчүн ыңгайлаштырылган компоненттер үчүн мисалдар жана колдонуу көрсөтмөлөрү.
Обзор
Bootstrap'тин форманы башкаруу элементтери класстар менен кайра жүктөлгөн форма стилдерибизде кеңейет. Браузерлерде жана түзмөктөрдө ырааттуураак көрсөтүү үчүн алардын жекелештирилген дисплейлерине кошулуу үчүн бул класстарды колдонуңуз.
Электрондук почтаны текшерүү, номерди тандоо жана башкалар сыяктуу киргизүүнү башкаруунун жаңы мүмкүнчүлүктөрүнөн пайдалануу үчүн 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>
Белгилөө кутучалары жана радиолор
Демейки белгилөө кутучалары жана радиолор HTML элементтеринин жайгашуусун жана жүрүм-турумун жакшыртуучу эки киргизүү түрлөрү үчүн бир класстын.form-check
жардамы менен жакшыртылды . Белгилөө кутучалары тизмедеги бир же бир нече варианттарды тандоо үчүн, ал эми радиолор көптөрдүн арасынан бир параметрди тандоо үчүн.
Өчүрүлгөн белги кутучалары жана радиолор колдоого алынат. Атрибут disabled
киргизүүнүн абалын көрсөтүүгө жардам берүү үчүн ачык түстү колдонот.
Белгилөө кутучалары жана радио баскычтары HTML негизиндеги форманы текшерүүнү колдойт жана кыска, жеткиликтүү энбелгилерди камсыз кылат. Ошентип, биздин <input>
s жана s - ичиндеги <label>
элементтерден айырмаланып, бир тууган элементтер . Бул бир аз кененирээк, анткени сиз жана .<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>
Inline
Белгилөө кутучаларын же радиолорду бир горизонталдуу сапта .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-*-*
энбелгилериңиздин жана башкаруу элементтериңиздин туурасын көрсөтүү үчүн класстарды колдонуу менен торчо менен горизонталдуу формаларды түзүңүз . .col-form-label
Өзүңүздүн s'иңизге да кошууну унутпаңыз, <label>
алар вертикалдуу түрдө борборлоштурулган форманы башкаруу элементтери менен байланышкан.
Кээде сизге керектүү кемчиликсиз тегиздөө үчүн маржа же толтуруучу утилиталарды колдонуу керек болушу мүмкүн. Мисалы, padding-top
тексттин базалык сызыгын жакшыраак тегиздөө үчүн биз топтолгон радио киргизүүлөрдөгү энбелгисин алып салдык.
<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>
<legend>
.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>
Колонна өлчөмү
Мурунку мисалдарда көрсөтүлгөндөй, биздин тор системасы a же .col
ичинде каалаган сандагы s санын жайгаштырууга мүмкүндүк берет . Алар жеткиликтүү туурасын алардын ортосунда бирдей бөлүштүрүшөт. Ошондой эле, сиз аздыр-көптүр мейкиндикти ээлөө үчүн тилкелериңиздин бир бөлүгүн тандап алсаңыз болот, ал эми калгандары калганын бирдей бөлөт, мисалы, белгилүү тилке класстары менен ..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
Бир горизонталдуу сапта бир катар энбелгилерди, форманы башкаруу элементтерин жана баскычтарды көрсөтүү үчүн классты колдонуңуз . Саптык формалардагы форма башкаруулары демейки абалынан бир аз айырмаланат.
- Башкаруу элементтери болуп , каалаган HTML ак мейкиндигин кыйратып, мейкиндик жана flexbox утилиталары
display: flex
менен тегиздөө башкарууну камсыз кылууга мүмкүндүк берет . - Башкаруу элементтери жана киргизүү топтору
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 катары белгилүү) аркылуу түзүлүшү мүмкүн . Inline жардам текстин ийкемдүү түрдө каалаган 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
атрибутун кошуңуз .<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>
элементтерди) <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тин иштөөсүндөгү чектөөлөрдөн улам, биз (учурда)
<label>
ыңгайлаштырылган JavaScript'тин жардамысыз DOMдагы форма башкаруусунан мурун келген стилдерди колдоно албайбыз. - Бардык заманбап браузерлер форманы башкаруу элементтерин текшерүү үчүн JavaScript ыкмаларынын сериясы болгон чектөө текшерүү APIин колдойт.
- Пикир билдирүүлөр браузердин демейки параметрлерин (ар бир серепчи үчүн ар кандай жана CSS аркылуу туруксуз) же кошумча HTML жана CSS менен биздин ыңгайлаштырылган пикир стилдерибизди колдонушу мүмкүн.
setCustomValidity
Сиз JavaScript менен ыңгайлаштырылган жарактуу билдирүүлөрдү бере аласыз .
Муну эске алып, биздин ыңгайлаштырылган форманы текшерүү стилдерибиз, кошумча сервердик класстар жана браузердин демейки параметрлери үчүн төмөнкү демонстрацияларды карап көрүңүз.
Ыңгайлаштырылган стилдер
Ыңгайлаштырылган Bootstrap формасын текшерүү билдирүүлөрү novalidate
үчүн, <form>
. Бул серепчинин демейки пикир кеңештерин өчүрөт, бирок дагы эле JavaScript'те форманы текшерүү API'лерине мүмкүнчүлүк берет. Төмөнкү форманы тапшырууга аракет кылыңыз; биздин JavaScript тапшыруу баскычын кармап, сизге пикир жөнөтөт. Тапшыруу аракетинде формаңызды башкаруу элементтерине колдонулган стилдерди :invalid
көрөсүз .:valid
Ыңгайлаштырылган пикирлердин стилдери пикирлерди жакшыраак билдирүү үчүн ыңгайлаштырылган түстөрдү, чектерди, фокус стилдерин жана фон сүрөтчөлөрүн колдонот. s үчүн фон сүрөтчөлөрү <select>
менен гана жеткиликтүү .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 жазууга кызыкпайсызбы? Баары жакшы, сиз браузердин демейки параметрлерин колдоно аласыз. Төмөнкү форманы тапшырып көрүңүз. Браузериңизге жана ОСңузга жараша, сиз пикирдин бир аз башкача стилин көрөсүз.
Бул пикир стилдерин 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>
s жана<textarea>
s менен.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
колдонобуз . Тилекке каршы, биз жөн гана ыңгайлаштырылганын кура албайбыз, анткени CSS бул элементте иштебейт..custom-control-label
::before
::after
<input>
content
Текшерилген штаттарда биз Open Iconicтен base64 кыстарылган SVG сүрөтчөлөрүн колдонобуз . Бул бизге браузерлерде жана түзмөктөрдө стилдөө жана жайгаштыруу үчүн эң мыкты башкарууну камсыз кылат.
Белгилөө кутучалары
<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>
Ыңгайлаштырылган белги кутучалары JavaScript аркылуу кол менен орнотулганда псевдо классты да колдоно алышат :indeterminate
(аны көрсөтүү үчүн 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>
Inline
<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
Ыңгайлаштырылган стилдер анын баштапкы көрүнүшү менен чектелген жана браузердин чектөөлөрүнөн улам s <select>
өзгөртө албайт .<option>
<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
on .<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>
Туура текст көрсөтүлүшү үчүн документиңиздин тилин (же анын ички дарагын) туура коюшуңуз керек. Бул элементтеги атрибутту же башка ыкмалардын арасында HTTP башын колдонуу мененlang
жасалышы мүмкүн .<html>
Content-Language
HTML менен саптарды которуу же өзгөчөлөштүрүү
data-browse
Bootstrap ошондой эле ыңгайлаштырылган киргизүү энбелгисине кошула турган атрибут менен HTMLдеги "Каралоо" текстин которуунун жолун камсыз кылат (голландчадагы мисал):
<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>