SourceМаягтууд
Маш олон төрлийн маягт үүсгэхэд зориулсан маягтын хяналтын хэв маяг, байршлын сонголтууд болон захиалгат бүрэлдэхүүн хэсгүүдийн жишээ, ашиглалтын заавар.
Bootstrap-ийн маягтын удирдлага нь манай Дахин ачаалагдсан маягтын ангиуд дээр өргөжиж байна. Хөтөч болон төхөөрөмжүүдэд илүү тогтвортой үзүүлэхийн тулд эдгээр ангиудыг ашиглан өөрсдийн тохируулсан дэлгэцийг сонгоорой.
Имэйл баталгаажуулалт, дугаар сонгох гэх мэт шинэ оролтын хяналтын давуу талыг ашиглахын тулд type
бүх оролтонд тохирох шинж чанарыг (жишээ нь, email
имэйл хаяг эсвэл тоон мэдээлэл) ашиглахаа мартуузай .number
Bootstrap-ийн хэлбэрийн хэв маягийг харуулах хурдан жишээ энд байна. Шаардлагатай анги, маягтын зохион байгуулалт гэх мэт баримт бичгийг үргэлжлүүлэн уншаарай.
<input>
s, <select>
s, s <textarea>
гэх мэт текстийн хэлбэрийн хяналтыг .form-control
ангид тохируулсан байна. Ерөнхий дүр төрх, фокусын төлөв, хэмжээ гэх мэт загваруудыг багтаасан болно.
Цаашид хэв маягийг бий болгохын тулд манай захиалгат маягтуудыг судлахаа мартуузай <select>
.
Файлын оролтын .form-control
хувьд .form-control-file
.
.form-control-lg
болон зэрэг ангиудыг ашиглан өндрийг тохируулна уу .form-control-sm
.
readonly
Оролтын утгыг өөрчлөхөөс сэргийлэхийн тулд оролт дээр логик шинж чанарыг нэмнэ үү . Зөвхөн унших боломжтой оролтууд нь илүү хөнгөн харагдана (ямар нэгэн идэвхгүй оролттой адил), гэхдээ стандарт курсорыг хадгална.
Зөвхөн унших энгийн текст
Хэрэв та <input readonly>
маягтдаа элементүүдийг энгийн текст хэлбэрээр оруулахыг хүсвэл .form-control-plaintext
өгөгдмөл маягтын талбарын хэв маягийг устгаж, зөв захын зай, дүүргэлтийг хадгалахын тулд ангийг ашиглана уу.
-г ашиглан хэвтээ гүйлгэх боломжтой хүрээний оролтыг тохируулна уу .form-control-range
.
Өгөгдмөл тэмдэглэгээ болон радиогуудыг HTML элементүүдийн зохион байгуулалт, үйл ажиллагааг сайжруулдаг хоёр төрлийн оролтын нэг ангиллын тусламжтайгаар.form-check
сайжруулсан . Сонголтууд нь жагсаалтаас нэг буюу хэд хэдэн сонголтыг сонгоход зориулагдсан бол радио нь олон сонголтоос нэг сонголтыг сонгоход зориулагдсан.
Идэвхгүй болгосон тэмдэглэгээ болон радиог дэмждэг боловч not-allowed
эцэг эхийн дээр хулганаар курсор <label>
оруулахын тулд та disabled
атрибутыг .form-check-input
. Идэвхгүй болсон атрибут нь оролтын төлөвийг харуулахын тулд цайвар өнгө хэрэглэнэ.
Шалгалтын хайрцаг болон радио ашиглах нь HTML-д суурилсан маягтын баталгаажуулалтыг дэмжих, товч, хүртээмжтэй шошго өгөх зорилгоор бүтээгдсэн. Иймээс бидний <input>
s ба s нь доторх <label>
элементээс ялгаатай ах дүү элементүүд юм . Энэ нь арай илүү дэлгэрэнгүй, учир нь та болон -тай холбогдох шинж чанаруудыг зааж өгөх ёстой .<input>
<label>
id
for
<input>
<label>
Өгөгдмөл байдлаар, ойрын ах дүүс болох дурын тооны шалгах хайрцаг болон радиог босоо байдлаар байрлуулж, -тай тохирох зайтай байрлуулна .form-check
.
.form-check-inline
Дурын зүйл дээр нэмэх замаар ижил хэвтээ мөрөнд шалгах хайрцаг эсвэл радиог бүлэглээрэй .form-check
.
Шошгогүй текст .position-static
доторх оролтод нэмнэ үү . .form-check
Туслах технологид зориулсан шошго (жишээ нь, ашиглах aria-label
) байхаа мартуузай.
Bootstrap нь манай бараг бүх маягтын удирдлагад хэрэгждэг display: block
тул width: 100%
маягтууд нь анхдагчаар босоо байдлаар стек болно. Энэ байрлалыг хэлбэр тус бүрээр нь өөрчлөхийн тулд нэмэлт ангиудыг ашиглаж болно.
Анги .form-group
нь маягтанд зарим бүтэц нэмэх хамгийн хялбар арга юм. Энэ нь шошго, хяналт, нэмэлт тусламжийн текст болон маягтын баталгаажуулалтын мессежийг зөв бүлэглэхийг дэмждэг уян хатан анги өгдөг. Анхдагч байдлаар энэ нь зөвхөн хэрэглэгдэх margin-bottom
боловч .form-inline
шаардлагатай бол нэмэлт хэв маягийг сонгоно. <fieldset>
Үүнийг s, <div>
s эсвэл бусад бараг бүх элементтэй хамт ашиглаарай .
Манай тор ангиудыг ашиглан илүү төвөгтэй хэлбэрүүдийг барьж болно. Эдгээрийг олон багана, янз бүрийн өргөн, нэмэлт зэрэгцүүлэх сонголтуудыг шаарддаг маягтын байршилд ашиглаарай.
Та мөн манай стандарт сүлжээний эгнээний нэг хувилбар болох багана суваг шуудууг дарж, илүү нягт, авсаархан байдлаар сольж болно .row
..form-row
Сүлжээний системээр илүү төвөгтэй байршлыг үүсгэж болно.
Бүлэг үүсгэх анги нэмж, шошго болон удирдлагынхаа өргөнийг тодорхойлохын тулд ангиудыг .row
ашиглан сүлжээгээр хэвтээ маягтуудыг үүсгээрэй . Өөрийн холбогдох маягтын удирдлагатай босоо төвлөрсөн байхын тулд өөрийн s-г мөн .col-*-*
нэмж оруулахаа мартуузай ..col-form-label
<label>
Заримдаа та өөрт хэрэгтэй төгс тэгш байдлыг бий болгохын тулд захын зай эсвэл дүүргэх хэрэгслийг ашиглах хэрэгтэй болдог. Жишээлбэл, бид padding-top
текстийн үндсэн шугамыг илүү сайн тэгшлэхийн тулд давхарласан радио оролтын шошгыг устгасан.
Хэмжээг зөв дагаж мөрдөхийн тулд .col-form-label-sm
эсвэл .col-form-label-lg
өөрийн <label>
s эсвэл s- г ашиглахаа мартуузай .<legend>
.form-control-lg
.form-control-sm
Өмнөх жишээнүүдээс харахад манай сүлжээний систем нь a эсвэл .col
дотор ямар ч тооны s -г байрлуулах боломжийг олгодог . Тэд боломжтой өргөнийг хооронд нь тэнцүү хуваах болно. Та мөн багананыхаа дэд багцыг сонгож, бага эсвэл бага зай эзэлнэ, харин үлдсэн хэсэг нь бусад багана зэрэг тодорхой баганын ангиудад хувааж болно ..row
.form-row
.col
.col-7
Доорх жишээнд агуулгыг босоо байдлаар голлуулахын тулд flexbox хэрэглүүрийг ашигладаг бөгөөд .col
таны .col-auto
баганууд шаардлагатай хэмжээгээр зай эзэлнэ. Өөрөөр хэлбэл, баганын хэмжээ нь агуулгад тулгуурлан өөрөө тодорхойлогддог.
Дараа нь та үүнийг тодорхой хэмжээний баганын ангиудаар дахин дахин найруулж болно.
Мэдээжийн хэрэг өөрчлөн маягтын хяналтыг дэмждэг.
Хэд хэдэн шошго, маягтын удирдлага, товчлууруудыг нэг хэвтээ эгнээнд харуулахын тулд .form-inline
ангийг ашиглана уу. Дотор маягт доторх маягтын удирдлага нь үндсэн төлөвөөсөө бага зэрэг ялгаатай байна.
- Хяналтууд нь ямар ч HTML хоосон зайг буулгаж, зай болон flexbox хэрэгслүүдээр
display: flex
зэрэгцүүлэх хяналтыг хангах боломжийг танд олгоно .
- Хяналт болон оролтын бүлгүүд
width: auto
Bootstrap-ийн өгөгдмөлийг хүчингүй болгохын тулд хүлээн авдаг width: 100%
.
- Хөдөлгөөнт төхөөрөмж дээрх нарийхан харагдах цонхыг тооцохын тулд дор хаяж 576 пикселийн өргөнтэй харах цонхонд удирдлага нь зөвхөн шугаманд харагдана .
Та бие даасан маягтын хяналтын өргөн, тохируулгыг зайны хэрэгслүүдээр (доор үзүүлсэн шиг) гараар шийдвэрлэх шаардлагатай байж магадгүй юм. Эцэст нь, <label>
дэлгэц уншдаггүй зочдоос нуух шаардлагатай байсан ч маягт бүрийн удирдлагад заавал тэмдэгт оруулахаа мартуузай .sr-only
.
Захиалгат маягтын удирдлага болон сонголтуудыг мөн дэмждэг.
Нуугдсан шошгоны өөр хувилбарууд
Хэрэв та оролт бүрт шошго оруулахгүй бол дэлгэц уншигч гэх мэт туслах технологид таны маягтуудад асуудал гарах болно. .sr-only
Эдгээр доторлогооны маягтуудын хувьд та классыг ашиглан шошгыг нууж болно . aria-label
, aria-labelledby
эсвэл title
шинж чанар гэх мэт туслах технологид шошго өгөх өөр аргууд байдаг . Хэрэв эдгээрийн аль нь ч байхгүй бол туслах технологи нь хэрэв байгаа бол атрибутыг ашиглах боломжтой боловч шошголох бусад аргыг орлуулахыг зөвлөдөггүйг placeholder
анхаарна уу .placeholder
.form-text
Маягт дахь блок түвшний тусламжийн текстийг (өмнө .help-block
нь v3 хувилбарт байсан) ашиглан үүсгэж болно . Inline тусламжийн текстийг дурын inline HTML элемент болон хэрэглүүрийн ангиудыг ашиглан уян хатан байдлаар хэрэгжүүлэх боломжтой .text-muted
.
Тусламжийн текстийг маягтын удирдлагатай холбох
aria-describedby
Тусламжийн текст нь атрибут ашиглахтай холбоотой маягтын удирдлагатай шууд холбоотой байх ёстой . Энэ нь хэрэглэгч анхаарлаа төвлөрүүлэх эсвэл удирдлага руу орох үед дэлгэц уншигч гэх мэт туслах технологиуд энэ тусламжийн текстийг зарлах болно.
Доорх тусламжийн текстийн оролтыг -аар тохируулж болно .form-text
. Энэ анги нь display: block
дээрх оролтуудаас хялбар зай гаргахын тулд дээд талын зайг багтаасан бөгөөд нэмдэг.
Таны нууц үг 8-20 тэмдэгтээс бүрдэх, үсэг, тоо агуулсан байх ёстой бөгөөд хоосон зай, тусгай тэмдэгт, эможи агуулаагүй байх ёстой.
Дотор текст нь ердийн HTML элементийг (энэ нь <small>
, <span>
, эсвэл өөр ямар нэгэн зүйл) ашиглах боломжтой бөгөөд зөвхөн хэрэглээний ангиас өөр зүйлгүй.
disabled
Хэрэглэгчийн харилцан үйлчлэлээс сэргийлж, илүү хөнгөн харагдуулахын тулд оролт дээр логик шинж чанарыг нэмнэ үү .
Доторх бүх удирдлагыг идэвхгүй болгохын тулд disabled
атрибутыг a -д нэмнэ үү .<fieldset>
Зангуугаар анхааруулах
Өгөгдмөл байдлаар, хөтчүүд a доторх бүх эх хэлбэрийн хяналтыг ( <input>
, <select>
болон <button>
элементүүд) <fieldset disabled>
идэвхгүй болгож, гар болон хулганы харилцан үйлчлэлээс сэргийлнэ. Гэсэн хэдий ч, хэрэв таны маягт мөн <a ... class="btn btn-*">
элементүүдийг агуулж байвал эдгээрт зөвхөн pointer-events: none
. Товчлуурын идэвхгүй байдлын тухай хэсэгт (ялангуяа зангууны элементүүдийн дэд хэсэгт) дурдсанчлан , энэ CSS шинж чанар хараахан стандартчилагдаагүй бөгөөд Internet Explorer 10-д бүрэн дэмжигдээгүй байгаа бөгөөд гар хэрэглэгчдийг ашиглахад саад болохгүй. эдгээр холбоосыг төвлөрүүлэх эсвэл идэвхжүүлэх боломжтой. Тиймээс аюулгүй байхын тулд ийм холбоосыг идэвхгүй болгохын тулд захиалгат JavaScript ашиглана уу.
Хөтөч хоорондын нийцтэй байдал
Bootstrap нь эдгээр хэв маягийг бүх хөтөч дээр ашиглах боловч Internet Explorer 11 болон түүнээс доош хувилбарууд disabled
нь <fieldset>
. Эдгээр хөтчүүдийн талбарын багцыг идэвхгүй болгохын тулд захиалгат JavaScript ашиглана уу.
HTML5 маягтын баталгаажуулалтыг ашиглан хэрэглэгчдэдээ үнэ цэнэтэй, бодитой санал хүсэлтийг илгээгээрэй – манай бүх дэмждэг хөтөч дээр байдаг. Хөтчийн өгөгдмөл баталгаажуулалтын санал хүсэлтээс сонгох эсвэл манай суулгасан ангиуд болон эхлэлийн JavaScript ашиглан захиалгат мессежүүдийг хэрэгжүүлээрэй.
Дотоод хөтөчийн өгөгдмөл баталгаажуулалтын мессежүүд нь бүх хөтчүүдэд (ялангуяа, ширээний болон гар утсан дээрх Chrome) туслах технологид байнга өртдөггүй тул бид одоогоор тусгай баталгаажуулалтын хэв маягийг ашиглахыг зөвлөж байна.
Bootstrap дээр маягтын баталгаажуулалт хэрхэн ажилладаг талаар эндээс үзнэ үү.
- HTML маягтын баталгаажуулалтыг CSS-ийн хоёр псевдо-анги,
:invalid
ба :valid
. Энэ нь <input>
, <select>
, болон <textarea>
элементүүдэд хамаарна.
- Bootstrap
:invalid
нь ихэвчлэн . :valid
_ Үгүй бол хуудас ачаалахад утгагүй шаардлагатай талбарууд хүчингүй гэж харагдана. Ингэснээр та тэдгээрийг хэзээ идэвхжүүлэхээ сонгож болно (ихэвчлэн маягт илгээх оролдлогын дараа)..was-validated
<form>
- Маягтын гадаад төрхийг дахин тохируулахын тулд (жишээлбэл, AJAX ашиглан динамик маягт илгээх тохиолдолд) илгээсний дараа дахин
.was-validated
ангиас устгана уу.<form>
- Нөхцөл болгон
.is-invalid
, .is-valid
ангиудыг псевдо ангийн оронд сервер талын баталгаажуулалтад ашиглаж болно. .was-validated
Тэд эцэг эхийн анги шаарддаггүй .
- CSS-ийн ажиллах хязгаарлалтын улмаас бид (одоогоор)
<label>
DOM дахь маягтын удирдлагын өмнө ирдэг a-д тусгайлсан JavaScript-ийн тусламжгүйгээр хэв маягийг ашиглах боломжгүй байна.
- Орчин үеийн бүх хөтчүүд маягтын хяналтыг баталгаажуулах JavaScript-н цуврал аргууд болох хязгаарлалт баталгаажуулалтын API -г дэмждэг.
- Санал хүсэлтийн мессеж нь хөтчийн өгөгдмөл (хөтөч бүрийн хувьд өөр, CSS-ээр тохируулагдах боломжгүй) эсвэл нэмэлт HTML болон CSS бүхий бидний санал хүсэлтийн хэв маягийг ашиглаж болно.
setCustomValidity
Та JavaScript хэлээр захиалгат хүчинтэй мессеж өгч болно .
Үүнийг харгалзан манай маягтын баталгаажуулалтын хэв маяг, нэмэлт серверийн анги, хөтчийн өгөгдмөл тохиргоонуудын хувьд дараах үзүүлэнг авч үзье.
Захиалгат Bootstrap маягтын баталгаажуулалтын мессежийн хувьд та novalidate
логик шинж чанарыг өөрийн <form>
. Энэ нь хөтчийн өгөгдмөл санал хүсэлтийн зөвлөмжийг идэвхгүй болгосон ч JavaScript дахь маягтын баталгаажуулалтын API-д хандах боломжийг олгодог. Доорх маягтыг оруулахыг оролдоно уу; Манай JavaScript нь илгээх товчийг таслан зогсоож, танд санал хүсэлт илгээх болно.
Илгээхийг оролдох үед та маягтын удирдлагад хэрэглэгдэх :invalid
болон :valid
хэв маягийг харах болно.
Захиалгат баталгаажуулалтын санал хүсэлтийн мессеж эсвэл маягтын үйлдлийг өөрчлөхийн тулд JavaScript бичих сонирхолгүй байна уу? Сайн байна, та хөтчийн өгөгдмөл тохиргоог ашиглаж болно. Доорх маягтыг илгээж үзнэ үү. Таны хөтөч болон үйлдлийн системээс хамааран та санал хүсэлтийн арай өөр хэв маягийг харах болно.
Эдгээр санал хүсэлтийн хэв маягийг CSS-ээр тохируулах боломжгүй ч та JavaScript-ээр дамжуулан санал хүсэлтийн текстийг өөрчлөх боломжтой.
Бид үйлчлүүлэгч талын баталгаажуулалтыг ашиглахыг зөвлөж байна, гэхдээ хэрэв танд сервер тал шаардлагатай бол хүчингүй болон хүчинтэй маягтын талбаруудыг болон -ээр зааж өгч .is-invalid
болно .is-valid
. .invalid-feedback
Эдгээр ангиудыг дэмждэг гэдгийг анхаарна уу .
Манай жишээ маягтууд <input>
дээрх эх бичвэрүүдийг харуулж байгаа боловч маягт баталгаажуулалтын хэв маягийг манай тусгай маягтын удирдлагад бас ашиглах боломжтой.
Хэрэв таны маягтын загвар үүнийг зөвшөөрвөл та .{valid|invalid}-feedback
ангиудыг ангиудаар сольж, .{valid|invalid}-tooltip
баталгаажуулалтын санал хүсэлтийг загварчлагдсан хэрэгслийн зөвлөмжөөр харуулах боломжтой. Хэрэгслийн зөвлөмжийн байршлыг тогтоохын тулд эцэг эх нь position: relative
үүн дээр байгаа эсэхийг шалгаарай. Доорх жишээн дээр манай баганын ангиудад үүнийг аль хэдийн оруулсан байгаа боловч таны төсөл өөр тохиргоог шаардаж магадгүй юм.
Илүү их өөрчлөн тохируулах, хөтчийг хооронд нь уялдуулахын тулд хөтчийн өгөгдмөл тохиргоог солихын тулд манай бүрэн өөрчлөн маягтын элементүүдийг ашиглана уу. Эдгээр нь семантик, хүртээмжтэй тэмдэглэгээн дээр бүтээгдсэн тул аливаа өгөгдмөл маягтын хяналтыг бүрэн орлуулах болно.
Шалгалтын хайрцаг болон радио тус бүрийг <div>
ах эгчтэй хамт хавсаргаж <span>
, бидний захиалгат хяналт болон <label>
дагалдах текстийн хувьд a-г бий болгодог. Бүтцийн хувьд энэ нь манай анхдагчтай ижил арга .form-check
юм.
Бид өөрчлөн маягтын индикаторыг зөв загварчлахын тулд дүү сонгогчийг ( ~
) ашигладаг . Ангитай хослуулснаар бид "-ын төлөв" дээр үндэслэн зүйл бүрийн текстийг загварчилж болно .<input>
:checked
.custom-control-label
<input>
Бид өгөгдмөл тохиргоог нууж, оронд <input>
нь өөрчлөн тохируулсан маягтын индикаторыг ашиглан , болон . Харамсалтай нь CSS нь тухайн элемент дээр ажиллахгүй тул бид зөвхөн энэ элементээс захиалгат нэгийг бүтээх боломжгүй.opacity
.custom-control-label
::before
::after
<input>
content
Сонгосон мужуудад бид Open Iconic - ийн base64 суулгагдсан SVG дүрсүүдийг ашигладаг . Энэ нь хөтчүүд болон төхөөрөмжүүд дээр загварчлах, байршуулах хамгийн сайн хяналтыг бидэнд олгодог.
Захиалгат хайрцгууд нь :indeterminate
JavaScript-ээр гараар тохируулах үед псевдо классыг ашиглаж болно (үүнийг зааж өгөх боломжтой HTML шинж чанар байхгүй).
Хэрэв та jQuery ашиглаж байгаа бол дараах зүйл хангалттай.
Захиалгат хайрцаг болон радиог идэвхгүй болгож болно. disabled
Boolean атрибутыг -д нэмэх <input>
ба өөрчлөн заагч болон шошгоны тайлбарыг автоматаар загварчлах болно.
Захиалгат цэсэнд захиалгат хэв маягийг идэвхжүүлэхийн <select>
тулд зөвхөн тусгай анги хэрэгтэй . .custom-select
Захиалгат загварууд нь <select>
анхны дүр төрхөөр <option>
хязгаарлагддаг бөгөөд хөтчийн хязгаарлалтаас шалтгаалан s-г өөрчлөх боломжгүй.
Та мөн манай ижил хэмжээтэй текстийн оруулгад тохирох жижиг, том захиалгат сонголтуудаас сонгож болно.
Атрибутыг multiple
мөн дэмждэг:
Шинж size
чанар нь:
<input type="range">
-ын тусламжтайгаар захиалгат хяналтыг үүсгэ .custom-range
. Зам (арын дэвсгэр) болон эрхий хуруу (утга) нь хөтчүүдэд адилхан харагдахаар загварчлагдсан. Зөвхөн IE болон Firefox нь ахиц дэвшлийг нүдээр харуулахын тулд эрхий хурууны зүүн эсвэл баруун талаас замаа "бөглөх"-ийг дэмждэг тул бид одоогоор үүнийг дэмжихгүй байна.
min
Мужийн оролтууд нь болон max
- 0
ба -ын далд утгуудтай 100
. min
Та болон шинж чанаруудыг ашигладаг хүмүүст шинэ утгыг зааж өгч болно max
.
Өгөгдмөлөөр муж бүхэл тоон утгууд руу "цахилдаг" оролтыг оруулдаг. Үүнийг өөрчлөхийн тулд та step
утгыг зааж өгч болно. Доорх жишээнд бид алхмуудын тоог хоёр дахин нэмэгдүүлнэ step="0.5"
.
Файлын оролт нь хамгийн бүдүүлэг нь бөгөөд хэрэв та файл сонгох функц болон сонгосон файлын нэрийн тексттэй холбохыг хүсвэл нэмэлт JavaScript шаардлагатай.
Бид өгөгдмөл файлыг <input>
дамжуулан нууж opacity
, оронд нь <label>
. Товчлуурыг үүсгээд байрлуулна ::after
. Эцэст нь, бид эргэн тойрны контентын хоорондын зайг зөв тогтоохын тулд " а " width
-ыг зарлаж байна.height
<input>
Мөрүүдийг орчуулах эсвэл өөрчлөх
Псевдо :lang()
анги нь "Browse" текстийг бусад хэл рүү орчуулах боломжийг олгодог. Холбогдох хэлний шошго болон локалчлагдсан тэмдэгт мөр $custom-file-text
бүхий Sass хувьсагчийн оруулгуудыг дарж бичих эсвэл нэмэх . Англи хэлний утсыг ижил аргаар өөрчилж болно. Жишээлбэл, Испани хэл дээрх орчуулгыг хэрхэн нэмж оруулахыг эндээс үзнэ үү (Испани хэлний код нь ):es
lang(es)
Испани орчуулгад зориулсан тусгай файлын оролтыг энд хийж байна:
Зөв текстийг харуулахын тулд та өөрийн баримт бичгийн хэлийг (эсвэл түүний дэд мод) зөв тохируулах хэрэгтэй. Үүнийг элемент дээрх lang
атрибут эсвэл HTTP толгой хэсгийг ашиглан хийж болно .<html>
Content-Language