Пішіндерді басқару мәнерлеріне, орналасу опцияларына және пішіндердің кең ауқымын жасауға арналған теңшелетін құрамдастарға арналған мысалдар мен пайдалану нұсқаулары.
Шолу
Bootstrap пішін басқару элементтері сыныптары бар Қайта жүктелген пішін мәнерлерінде кеңейтіледі. Браузерлер мен құрылғыларда неғұрлым дәйекті көрсету үшін олардың теңшелген дисплейлеріне қосылу үшін осы сыныптарды пайдаланыңыз.
Электрондық поштаны тексеру, нөмірді таңдау және т.б. сияқты жаңарақ енгізуді басқару элементтерін пайдалану үшін typeбарлық кірістерде сәйкес төлсипатты (мысалы, emailэлектрондық пошта мекенжайы немесе сандық ақпарат үшін) пайдалануды ұмытпаңыз .number
Мұнда Bootstrap пішін мәнерлерін көрсетудің жылдам мысалы берілген. Қажетті сыныптар, пішін орналасуы және т.б. туралы құжаттаманы оқуды жалғастырыңыз.
Пішін басқару элементтері
<input>s, <select>s және s сияқты мәтіндік пішінді басқару элементтері сыныппен <textarea>стильделеді . .form-controlЖалпы көрініс, фокус күйі, өлшемдер және т.б. мәнерлер қамтылған.
Файл енгізулері үшін .form-controlүшін ауыстырыңыз .form-control-file.
Өлшемді анықтау
.form-control-lgжәне сияқты сыныптарды пайдаланып биіктіктерді орнатыңыз .form-control-sm.
Тек оқуға арналған
readonlyКіріс мәнін өзгертуге жол бермеу үшін кіріске логикалық төлсипатты қосыңыз . Тек оқуға арналған кірістер жеңілірек болып көрінеді (өшірілген кірістер сияқты), бірақ стандартты курсорды сақтайды.
Тек оқуға арналған қарапайым мәтін
<input readonly>Пішініңізде қарапайым мәтін ретінде стильдендірілген элементтердің болуын қаласаңыз .form-control-plaintext, әдепкі пішін өрісінің стилін жою және дұрыс жиекті және толтыруды сақтау үшін сыныпты пайдаланыңыз.
Ауқым кірістері
Көлденең айналдырылатын диапазон кірістерін пайдаланып орнатыңыз .form-control-range.
Құсбелгілер мен радиолар
Әдепкі құсбелгілер мен радиолар HTML элементтерінің орналасуын және әрекетін жақсартатын екі енгізу түріне арналған бір сыныптың.form-check көмегімен жақсартылады . Құсбелгілер тізімдегі бір немесе бірнеше опцияны таңдауға арналған, ал радиолар көптеген опциялардың біреуін таңдауға арналған.
Өшірілген құсбелгілер мен радиостанцияларға қолдау көрсетіледі. Атрибут disabledкіріс күйін көрсетуге көмектесу үшін ашық түсті қолданады.
Құсбелгілер мен радио түймелер HTML негізіндегі пішінді тексеруді қолдайды және қысқа, қолжетімді белгілерді қамтамасыз етеді. Осылайша, біздің <input>s және s - ішіндегі a <label>-ға қарама-қарсы бауырлас элементтер . Бұл сәл егжей-тегжейлі, өйткені және байланыстыру үшін және атрибуттарын көрсету керек .<input><label>idfor<input><label>
Әдепкі (қабатталған)
Әдепкі бойынша, құсбелгілер мен радиолардың кез келген саны тігінен жинақталады және сәйкес арақашықтықта болады .form-check.
Кезекте
.form-check-inlineКез келген жолға қосу арқылы бір көлденең жолдағы құсбелгілерді немесе радиоларды топтаңыз .form-check.
Белгісіз
Ешқандай белгі мәтіні жоқ .position-staticкірістерге қосыңыз . .form-checkКөмекші технологиялар үшін белгінің қандай да бір түрін қамтамасыз етуді ұмытпаңыз (мысалы, пайдалану aria-label).
Орналасу
Bootstrap барлық дерлік пішін басқару элементтеріне қолданылатындықтан display: block, width: 100%пішіндер әдепкі бойынша тігінен жинақталады. Бұл орналасуды әр пішін негізінде өзгерту үшін қосымша сыныптарды пайдалануға болады.
Топтарды құру
Класс .form-group- пішіндерге кейбір құрылымды қосудың ең оңай жолы. Ол белгілерді, басқару элементтерін, қосымша анықтама мәтінін және пішінді тексеру хабарларын дұрыс топтастыруды ынталандыратын икемді сыныпты қамтамасыз етеді. Әдепкі бойынша ол тек қолданылады margin-bottom, бірақ қажет болған жағдайда қосымша мәнерлерді таңдайды .form-inline. Оны <fieldset>s, <div>s немесе кез келген дерлік басқа элементпен пайдаланыңыз.
Пішін торы
Неғұрлым күрделі пішіндерді біздің тор сыныптарымыз арқылы жасауға болады. Бұларды бірнеше бағандарды, әртүрлі ендерді және қосымша туралау опцияларын қажет ететін пішін орналасулары үшін пайдаланыңыз.
Пішін жолы
.rowСондай- ақ , стандартты тор жолымыздың нұсқасын ауыстыра аласыз .form-row, ол қатаңырақ және ықшам орналасулар үшін әдепкі баған ағындарын ауыстырады.
Неғұрлым күрделі орналасуларды тор жүйесімен де жасауға болады.
Көлденең пішін
.rowТоптарды қалыптастыру үшін сыныпты қосу және .col-*-*белгілер мен басқару элементтерінің енін көрсету үшін сыныптарды пайдалану арқылы тормен көлденең пішіндерді жасаңыз . Өздерімен байланысты пішінді басқару элементтерімен тігінен орталықтандырылуы үшін s- .col-form-labelге де қосуды ұмытпаңыз .<label>
Кейде сізге қажетті теңестіруді жасау үшін маржа немесе толтыру утилиталарын пайдалану қажет болуы мүмкін. padding-topМысалы , мәтіннің негізгі сызығын жақсырақ туралау үшін жинақталған радио кірістер белгісін алып тастадық .
Көлденең пішінді жапсырма өлшемі
және өлшемін дұрыс орындау үшін немесе s немесе .col-form-label-sms пайдалануды ұмытпаңыз ..col-form-label-lg<label><legend>.form-control-lg.form-control-sm
Баған өлшемі
Алдыңғы мысалдарда көрсетілгендей, біздің тор жүйеміз кез келген .cols санын a .rowнемесе ішінде орналастыруға мүмкіндік береді .form-row. Олар қол жетімді енді олардың арасында бірдей бөледі. Сондай-ақ, көп немесе аз орын алу үшін бағандарыңыздың ішкі жиынын таңдай аласыз, ал .colқалғандары қалғанын, сияқты арнайы баған сыныптарымен бірдей бөледі .col-7.
Автоматты өлшемдеу
Төмендегі мысал мазмұнды тігінен ортаға қою үшін flexbox утилитасын пайдаланады және бағандарыңыз қажетінше көп орын алатындай етіп .colөзгертеді . .col-autoБасқаша айтқанда, бағанның өзі мазмұнға қарай өлшемдейді.
Содан кейін оны өлшемге арнайы баған сыныптарымен қайта араластыруға болады.
.form-inlineБір көлденең жолда белгілер қатарын, пішінді басқару элементтерін және түймелерді көрсету үшін сыныпты пайдаланыңыз . Кірістірілген пішіндердегі пішін басқару элементтері әдепкі күйлерінен сәл өзгереді.
Басқару элементтері кез келген HTML бос кеңістігін қысқартады және аралық және flexbox утилиталары display: flexарқылы теңестіруді басқаруды қамтамасыз етуге мүмкіндік береді .
Басқару элементтері мен енгізу топтары width: autoBootstrap әдепкі параметрін қайта анықтау үшін қабылдайды width: 100%.
Басқару элементтері мобильді құрылғылардағы тар көру порттарын есепке алу үшін ені кемінде 576 пиксель болатын көру порттарында ғана кірістірілген түрде пайда болады .
Жеке пішін басқару элементтерінің енін және теңестіруін аралық утилиталармен (төменде көрсетілгендей) қолмен шешу қажет болуы мүмкін. <label>Соңында, экраннан оқу құралы емес келушілерден оны жасыру қажет болса да, әр пішін басқару элементіне әрқашан қосуды ұмытпаңыз .sr-only.
Теңшелетін пішін басқару элементтері мен таңдауларына да қолдау көрсетіледі.
Жасырын белгілерге балама
Әрбір енгізуге белгіні қоспасаңыз, экраннан оқу құралдары сияқты көмекші технологияларда пішіндеріңізде қиындықтар туындайды. Бұл кірістірілген пішіндер үшін .sr-onlyсыныпты пайдаланып белгілерді жасыруға болады. Көмекші технологиялар үшін белгіні қамтамасыз етудің басқа балама әдістері бар, мысалы, aria-label, aria-labelledbyнемесе titleтөлсипаты. Егер олардың ешқайсысы болмаса, көмекші технологиялар placeholderатрибутты, егер бар болса, пайдалануға жүгінуі мүмкін, бірақ placeholderбасқа таңбалау әдістерін ауыстыру ретінде пайдалану ұсынылмайтынын ескеріңіз.
Анықтама мәтіні
Пішіндердегі блок деңгейіндегі анықтама мәтінін .form-text(бұрын .help-blockv3 нұсқасы ретінде белгілі) көмегімен жасауға болады. Кірістірілген анықтама мәтінін кез келген кірістірілген HTML элементі мен сияқты утилита сыныптары арқылы икемді түрде енгізуге болады .text-muted.
Анықтама мәтінін пішін басқару элементтерімен байланыстыру
aria-describedbyАнықтама мәтіні төлсипатты пайдалануға қатысты пішінді басқару элементімен анық байланысты болуы керек . Бұл көмекші технологиялар (мысалы, экраннан оқу құралдары) пайдаланушы назар аударғанда немесе басқару элементіне кіргенде осы анықтама мәтінін жариялауын қамтамасыз етеді.
Төмендегі анықтама мәтінін енгізулерді мәнерлеуге болады .form-text. Бұл сынып display: blockжоғарыдағы кірістер арасындағы оңай аралық үшін кейбір жоғарғы жиекті қамтиды және қосады.
Құпия сөзіңіздің ұзындығы 8-20 таңбадан тұруы, әріптер мен сандардан тұруы және бос орындар, арнайы таңбалар немесе эмодзилер болмауы керек.
Кірістірілген мәтін кез келген типтік кірістірілген HTML элементін (ол <small>, <span>, немесе басқа нәрсе болсын) қызметтік сыныптан басқа ештеңесі жоқ пайдалана алады.
Өшірілген пішіндер
disabledПайдаланушы әрекеттесуіне жол бермеу және оны жеңілірек ету үшін кіріске логикалық төлсипатты қосыңыз .
ішіндегі барлық басқару элементтерін өшіру үшін disabledтөлсипатты a мәніне қосыңыз .<fieldset>
Анкерлермен ескерту
Әдепкі бойынша, браузерлер a ішіндегі барлық жергілікті пішін басқару элементтерін ( <input>, <select>және элементтер) ажыратылған ретінде қарастырып, олардағы пернетақта мен тінтуірдің өзара әрекеттесуіне жол бермейді. Дегенмен, пішініңізде элементтер болса, оларға тек мәнер беріледі . Түймелердің өшірілген күйі туралы бөлімде (және, атап айтқанда, якорь элементтеріне арналған ішкі бөлімде) атап өтілгендей, бұл CSS сипаты әлі стандартталмаған және Internet Explorer 10 нұсқасында толық қолдау көрсетілмеген және пернетақта пайдаланушыларына кедергі жасамайды. осы сілтемелерді шоғырландыру немесе белсендіру мүмкіндігі. Қауіпсіз болу үшін мұндай сілтемелерді өшіру үшін теңшелетін JavaScript пайдаланыңыз.<button><fieldset disabled><a ... class="btn btn-*">pointer-events: none
Кросс-браузер үйлесімділігі
disabledBootstrap бұл мәнерлерді барлық браузерлерде қолданса да, Internet Explorer 11 және одан төмен нұсқалары <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>таңдамалы JavaScript көмегінсіз DOM ішіндегі пішін басқару элементінен бұрын келетін мәнерлерді қолдана алмаймыз.
Барлық заманауи шолғыштар пішім басқару элементтерін тексеруге арналған JavaScript әдістерінің қатарын, шектеуді тексеру API қолдайды.
Кері байланыс хабарлары браузердің әдепкі параметрлерін (әр браузер үшін әр түрлі және CSS арқылы реттелмейтін) немесе қосымша HTML және CSS көмегімен реттелетін кері байланыс мәнерлерін пайдалануы мүмкін.
setCustomValidityСіз JavaScript арқылы теңшелетін жарамдылық хабарларын бере аласыз .
Осыны ескере отырып, біздің теңшелетін пішінді тексеру мәнерлеріміз, қосымша серверлік сыныптар және браузердің әдепкі параметрлері үшін келесі демонстрацияларды қарастырыңыз.
Арнайы стильдер
Теңшелетін Bootstrap пішінін тексеру хабарлары үшін novalidateлогикалық төлсипатты өзіңіздің <form>. Бұл шолғыштың әдепкі кері байланыс кеңестерін өшіреді, бірақ JavaScript ішіндегі пішінді тексеру API интерфейстеріне қатынасты қамтамасыз етеді. Төмендегі пішінді жіберіп көріңіз; біздің JavaScript жіберу түймесін басып, сізге кері байланыс жібереді. Жіберуге әрекет жасағанда , пішін басқару элементтеріне қолданылатын :invalidжәне мәнерлерді көресіз .:valid
Реттелетін кері байланыс мәнерлері кері байланысты жақсырақ жеткізу үшін реттелетін түстерді, жиектерді, фокус мәнерлерін және фондық белгішелерді қолданады. s үшін фондық белгішелер <select>тек арқылы қол жетімді .custom-select, бірақ жоқ .form-control.
Браузердің әдепкі параметрлері
Пішін әрекеттерін өзгерту үшін теңшелетін тексеру туралы кері байланыс хабарлары немесе JavaScript жазу қызықты емес пе? Бәрі жақсы, сіз браузердің әдепкі параметрлерін пайдалана аласыз. Төмендегі пішінді жіберіп көріңіз. Браузеріңізге және ОЖ-ға байланысты сіз сәл басқа пікір стилін көресіз.
Бұл кері байланыс мәнерлерін CSS көмегімен стильдеу мүмкін болмаса да, сіз әлі де JavaScript арқылы кері байланыс мәтінін теңшей аласыз.
Сервер жағы
Клиенттік тексеруді пайдалануды ұсынамыз, бірақ серверлік тексеру қажет болса, жарамсыз және жарамды пішін өрістерін және арқылы көрсетуге .is-invalidболады .is-valid. .invalid-feedbackБұл сыныптармен де қолдау көрсетілетінін ескеріңіз .
Қолдау көрсетілетін элементтер
Тексеру мәнерлері келесі пішін басқару элементтері мен құрамдастары үшін қолжетімді:
<input>s және <textarea>s ( енгізу топтарында .form-controlбіреуін қоса ).form-control
<select>s .form-controlнемесе.custom-select
.form-checkс
.custom-checkboxs және .custom-radios
.custom-file
Кеңестер
Пішін орналасуы рұқсат етсе, стильді құралдар кеңесінде тексеру пікірін көрсету .{valid|invalid}-feedbackүшін сыныптарды сыныптарға ауыстыруға болады. .{valid|invalid}-tooltipТүпнұсқаларды орналастыру үшін оның жанында ата-ана болуын ұмытпаңыз position: relative. Төмендегі мысалда біздің баған сыныптарымызда бұл бар, бірақ сіздің жобаңыз балама орнатуды қажет етуі мүмкін.
Баптау
$form-validation-statesТексеру күйлерін Sass арқылы картамен теңшеуге болады . Біздің _variables.scssфайлда орналасқан бұл Sass картасы әдепкі valid/ invalidтексеру күйлерін жасау үшін айналдырылған. Әрбір күйдің түсі мен белгішесін теңшеуге арналған кірістірілген карта қосылған. Басқа ешбір күйге браузерлер қолдау көрсетпесе де, реттелетін мәнерлерді пайдаланатындар күрделірек пішін кері байланысын оңай қоса алады.
Одан да көбірек теңшеу және айқас шолғыш үйлесімділігі үшін браузердің әдепкі параметрлерін ауыстыру үшін толығымен реттелетін пішін элементтерін пайдаланыңыз. Олар семантикалық және қол жетімді белгілеудің үстіне құрастырылған, сондықтан олар кез келген әдепкі пішін басқаруы үшін берік алмастырғыштар болып табылады.
Құсбелгілер мен радиолар
Әрбір құсбелгі мен радио <input>және жұптау реттелетін басқаруды жасау үшін <label>a ішіне оралған . <div>Құрылымдық тұрғыдан бұл біздің әдепкі бойынша бірдей тәсіл .form-check.
Біз теңшелетін пішін көрсеткішін дұрыс мәнерлеу ~үшін барлық күйлеріміз үшін ( ) <input>бауыр селекторын қолданамыз . :checkedСыныппен біріктірілгенде .custom-control-label, біз күйіне қарай әрбір элемент үшін мәтінді мәнерлей аламыз <input>.
Біз әдепкі мәнді жасырамыз және оның орнына жаңа теңшелетін пішін көрсеткішін құру үшін және көмегімен <input>пайдаланамыз . Өкінішке орай, біз тек осы элементтен теңшелетін құра алмаймыз, себебі CSS бұл элементте жұмыс істемейді.opacity.custom-control-label::before::after<input>content
Тексерілген күйлерде біз Open Iconic ішінен base64 енгізілген SVG белгішелерін қолданамыз . Бұл браузерлер мен құрылғыларда сәндеу және орналастыру үшін ең жақсы басқаруды қамтамасыз етеді.
Құсбелгілер
Пайдаланушы құсбелгілері JavaScript арқылы қолмен орнатылған кезде жалған сыныпты да пайдалана алады :indeterminate(оны көрсету үшін қолжетімді HTML төлсипаты жоқ).
Егер сіз jQuery қолдансаңыз, келесідей нәрсе жеткілікті:
Радиолар
Кезекте
Өшірілген
Таңдамалы құсбелгілер мен радиоларды да өшіруге болады. disabledЛогикалық төлсипатты параметрге қосыңыз <input>және теңшелетін индикатор мен белгі сипаттамасы автоматты түрде мәнерленеді.
Коммутаторлар
Коммутаторда реттелетін құсбелгіні белгілеу бар, бірақ .custom-switchауыстырып қосқышты көрсету үшін сыныпты пайдаланады. Коммутаторлар да disabledатрибутты қолдайды.
Мәзірді таңдаңыз
Теңшелетін мәзірлерге теңшелетін стильдерді іске қосу үшін <select>тек теңшелетін сынып қажет . .custom-selectТеңшелетін стильдер бастапқы көрінісімен шектеледі және браузер шектеулеріне байланысты s <select>өзгерте алмайды .<option>
Сондай-ақ, өлшемді мәтін енгізулерімізге сәйкес келетін шағын және үлкен таңдамалы таңдауларды таңдауға болады.
Атрибутқа multipleда қолдау көрсетіледі:
sizeАтрибут ретінде :
Ауқым
көмегімен реттелетін <input type="range">басқару элементтерін жасаңыз .custom-range. Жол (фон) және бас бармақ (мән) браузерлерде бірдей көрінетіндей етіп стильдендірілген. Тек IE және Firefox ғана прогресті көрнекі түрде көрсету құралы ретінде бас бармақтың сол немесе оң жағынан жолды «толтыруды» қолдайтындықтан, біз қазір оны қолдамаймыз.
Ауқымдық кірістер сәйкесінше minжәне max— 0және үшін жасырын мәндерге 100ие. minСіз және maxтөлсипаттарын пайдаланатындар үшін жаңа мәндерді көрсете аласыз .
Әдепкі бойынша, диапазон бүтін мәндерге "снап" енгізеді. Мұны өзгерту үшін stepмәнді көрсетуге болады. Төмендегі мысалда қолдану арқылы қадамдар санын екі есе көбейтеміз step="0.5".
Файл браузері
Пайдаланушы файл енгізуін жандандыру үшін ұсынылатын плагин: bs-custom-file-input , біз қазір құжаттарымызда осыны пайдаланып жатырмыз.
Файл енгізуі топтаманың ең күрделісі және оларды функционалды таңдау файлымен... және таңдалған файл атауы мәтінімен байланыстырғыңыз келсе, қосымша JavaScript қажет .
Біз әдепкі файлды жасырамыз <input>және opacityоның орнына стилін жасаймыз <label>. Түйме арқылы жасалады және орналасады ::after. Соңында, біз қоршаған мазмұн үшін дұрыс аралық үшін a widthжәне heighton деп жариялаймыз.<input>
SCSS көмегімен жолдарды аудару немесе теңшеу
:lang()Псевдокласс « Шолу» мәтінін басқа тілдерге аударуға мүмкіндік беру үшін пайдаланылады. Сәйкес тіл тегі және локализацияланған жолдармен $custom-file-textSass айнымалысына жазбаларды қайта анықтаңыз немесе қосыңыз . Ағылшын жолдарын дәл осылай теңшеуге болады. Мысалы, испанша аударманы қалай қосуға болады (испан тілінің коды ):es
Испан тіліндегі аудармаға lang(es)арналған реттелетін файлды енгізу әрекеті:
Bootstrap сонымен қатар HTML тіліндегі «Шолу» мәтінін data-browseреттелетін енгізу белгісіне қосуға болатын төлсипатпен аудару жолын ұсынады (голланд тіліндегі мысал):