Inprimakien kontrol-estiloen, diseinu-aukeren eta osagai pertsonalizatuen adibideak eta erabilera-gidalerroak inprimaki ugari sortzeko.
Ikuspegi orokorra
Bootstrap-en inprimaki-kontrolak gure Berrabiarazitako inprimaki-estiloak zabaltzen ditu klaseekin. Erabili klase hauek beren pantaila pertsonalizatuak aukeratzeko, arakatzaile eta gailu guztietan errendatze koherenteagoa izateko.
Ziurtatu typesarrera guztietan atributu egoki bat erabiltzen duzula (adibidez, emailhelbide elektronikorako edo numberinformazio numerikorako) sarrera-kontrol berriagoak aprobetxatzeko, hala nola posta elektronikoaren egiaztapena, zenbakia aukeratzea eta abar.
Hona hemen adibide azkar bat Bootstrap-en inprimaki-estiloak erakusteko. Jarraitu irakurtzen beharrezko klaseei, inprimakien diseinuari eta abarrei buruzko dokumentazioa.
Inprimakien kontrolak
Testu-inprimakiaren kontrolak ( <input>s, <select>s eta s bezalakoak) klasearekin <textarea>batera moldatzen dira . .form-controlItxura orokorraren, fokuaren egoera, tamainaren eta abarrentzako estiloak sartzen dira.
Fitxategien sarrerak .form-controlegiteko , aldatu .form-control-file.
Tamaina
Ezarri altuerak .form-control-lgeta bezalako klaseak erabiliz .form-control-sm.
Irakurtzeko soilik
Gehitu readonlyatributu boolearra sarrera batean sarreraren balioa aldatzeko. Irakurtzeko soilik dauden sarrerak arinagoak agertzen dira (desgaitutako sarrerak bezala), baina kurtsore estandarra mantentzen dute.
Testu arrunta irakurtzeko soilik
<input readonly>Zure inprimakiko elementuak testu arrunt gisa diseinatuta eduki nahi badituzu , erabili .form-control-plaintextklasea inprimaki-eremuen estilo lehenetsia kentzeko eta marjina eta betegarri egokiak gordetzeko.
Gama Sarrerak
Ezarri horizontalki mugi daitezkeen barrutiaren sarrerak erabiliz .form-control-range.
Koadroak eta irratiak
Lehenetsitako kontrol-laukiak eta irratiak hobetzen dira , haien HTML elementuen diseinua eta portaera hobetzen dituen bi sarrera motentzako klase bakarraren.form-check laguntzarekin . Kontrol-laukiak zerrenda batean aukera bat edo batzuk hautatzeko dira, eta irratiak, berriz, askotariko aukera bat hautatzeko.
Desgaitutako kontrol-laukiak eta irratiak onartzen dira, baina not-allowedgurasoaren gainean pasatzean kurtsorea emateko, atributua <label>gehitu beharko duzu . Desgaitutako atributuak kolore argiagoa aplikatuko du sarreraren egoera adierazten laguntzeko.disabled.form-check-input
Markagailuak eta irratiak erabiltzea HTMLn oinarritutako inprimakiak baliozkotzeko eta etiketa zehatzak eta eskuragarriak eskaintzeko eraiki dira. Horrela, gure <input>s eta <label>s anai-arreba-elementuak dira, baten <input>barruan ez bezala <label>. idHau apur bat zehatzagoa da, eta eta foratributuak zehaztu behar dituzulako <input>eta <label>.
Lehenetsia (pilatuta)
Lehenespenez, berehalako anai-arreba diren edozein kontrol-lauki eta irrati-kopuru bertikalki pilatuko dira eta behar bezala tartekatuko dira .form-check.
Sarean
Taldekatu kontrol-laukiak edo irratiak errenkada horizontal berean .form-check-inlineedozeinetan gehituz .form-check.
Etiketarik gabe
Gehitu etiketa-testurik ez duten .position-staticsarrerei . .form-checkGogoratu oraindik laguntza-teknologiei etiketa bat ematen diezula (adibidez, aria-label).
Diseinua
Bootstrap aplikatzen denez display: blocketa width: 100%gure inprimakien kontrol ia guztietan, inprimakiak berez bertikalean pilatuko dira. Klase gehigarriak erabil daitezke diseinu hau inprimakiaren arabera aldatzeko.
Taldeak osatu
.form-groupKlasea inprimakiei egitura batzuk gehitzeko modurik errazena da . Etiketak, kontrolak, aukerako laguntza-testua eta inprimakiak baliozkotzeko mezuak egoki taldekatzea sustatzen duen klase malgua eskaintzen du. Lehenespenez, soilik aplikatzen da margin-bottom, baina estilo osagarriak jasotzen ditu .form-inlinebehar den moduan. Erabili <fieldset>s, <div>s edo ia beste edozein elementurekin.
Inprimakia sareta
Gure sareko klaseak erabiliz forma konplexuagoak eraiki daitezke. Erabili hauek zutabe anitz, zabalera anitzak eta lerrokatze aukera osagarriak behar dituzten inprimaki-diseinuetarako.
Forma errenkada
Era berean , alda dezakezu, gure sareta errenkada estandarraren aldakuntza, zutabeen erreten .rowlehenetsiak .form-rowgainidazten dituena diseinu estuago eta trinkoagoetarako.
Sare sistemarekin diseinu konplexuagoak ere sor daitezke.
Forma horizontala
Sortu inprimaki horizontalak saretarekin .rowklasea gehituz taldeak osatzeko eta .col-*-*klaseak erabiliz zure etiketen eta kontrolen zabalera zehazteko. Ziurtatu .col-form-labelzure <label>s-etara ere gehitzen duzula, inprimaki-kontrolekin bertikalki zentratuta egon daitezen.
Batzuetan, beharbada marjinak edo betegarrizko utilitateak erabili beharko dituzu behar duzun lerrokadura perfektu hori sortzeko. Adibidez, padding-topgure irrati-sarrerak pilatutako etiketa kendu dugu testuaren oinarri-lerroa hobeto lerrokatzeko.
Inprimaki horizontaleko etiketen tamaina
Ziurtatu .col-form-label-smedo .col-form-label-lgzure <label>s edo <legend>s erabiltzen duzula .form-control-lgeta .form-control-sm.
Zutabeen tamaina
Aurreko adibideetan erakusten den moduan, gure sareta-sistemak edozein .cols-kopurua jartzeko aukera ematen du a .rowedo .form-row. Eskuragarri dagoen zabalera berdin banatuko dute haien artean. Zure zutabeen azpimultzo bat ere hauta dezakezu leku gehiago edo gutxiago okupatzeko, gainerako .cols-ek gainerakoak berdin banatzen dituzten bitartean, zutabe-klase espezifikoekin .col-7.
Tamaina automatikoa
Beheko adibideak flexbox erabilgarritasun bat erabiltzen du edukiak eta aldaketak bertikalki zentratzeko, zutabeek behar adina leku bakarrik har .coldezaten . .col-autoBeste modu batean esanda, zutabeak bere burua hartzen du edukiaren arabera.
Ondoren, berriro nahastu dezakezu tamainari dagokion zutabe klaseekin.
Erabili .form-inlineklasea etiketa, inprimaki-kontrolak eta botoiak lerro horizontal bakarrean bistaratzeko. Lineako inprimakien barruko inprimakien kontrolak egoera lehenetsietatik apur bat aldatzen dira.
Kontrolak hauek dira display: flex, HTML edozein zuriune tolestuz eta lerrokadura kontrola hornitzeko tartea eta flexbox utilitateekin.
Kontrolak eta sarrera taldeek width: autoBootstrap lehenetsia gainidazteko jasotzen dute width: 100%.
Kontrolak lerroan agertzen dira gutxienez 576 px-ko zabalera duten bistaratzeetan soilik gailu mugikorren ikuspegi estuak kontuan izateko.
Baliteke eskuz zuzendu behar izatea inprimaki-kontrolen banakako kontrolen zabalera eta lerrokatzea tartekatze utilitateekin (behean erakusten den moduan). Azkenik, ziurtatu <label>inprimaki-kontrol bakoitzean beti sartzen duzula, nahiz eta pantaila-irakurle ez diren bisitariei ezkutatu behar duzun .sr-only.
Inprimaki pertsonalizatuen kontrolak eta hautaketak ere onartzen dira.
Ezkutuko etiketen alternatibak
Laguntza-teknologiek, esaterako, pantaila-irakurgailuek arazoak izango dituzte zure inprimakiekin, sarrera bakoitzeko etiketarik sartzen ez baduzu. Lineako inprimaki hauetarako, etiketak ezkutatu ditzakezu .sr-onlyklasea erabiliz. Laguntza-teknologiei etiketa bat emateko beste metodo alternatibo batzuk daude, hala nola aria-label, aria-labelledbyedo titleatributua. Horietako bat ere ez badago, laguntza-teknologiek placeholderatributua erabil dezakete, baldin badago, baina kontuan izan placeholderez dela gomendagarria etiketatze-metodoen ordezko gisa erabiltzea.
Laguntza testua
Bloke-mailako laguntza-testua inprimakietan sor daiteke (lehen v3-n .form-textbezala ezagutzen zen). .help-blockSareko laguntza-testua malgutasunez inplementa daiteke lerroko edozein HTML elementu eta erabilgarritasun klaseak erabiliz .text-muted.
Laguntza-testua inprimaki-kontrolekin lotzea
aria-describedbyLaguntza-testua berariaz lotu behar da atributua erabiliz erlazionatutako inprimaki-kontrolarekin . Horrek bermatuko du laguntza-teknologiek (pantaila-irakurgailuak, esaterako) laguntza-testu hau iragarriko dutela erabiltzailea kontrolatzen denean edo kontrola sartzen denean.
Sarreraren azpiko laguntza-testua estiloarekin jar daiteke .form-text. Klase honek display: blockgoiko marjina bat barne hartzen du eta gehitzen du goiko sarreretatik erraz tartekatzeko.
Pasahitzak 8-20 karaktere izan behar ditu, letrak eta zenbakiak izan behar ditu eta ez du zuriunerik, karaktere berezirik edo emojirik izan behar.
Barneko testuak lineako HTML elementu tipiko edozein erabil dezake (izan <small>, <span>, edo beste zerbait) erabilgarritasun-klase bat baino ez duena.
Desgaitutako inprimakiak
Gehitu disabledatributu boolearra sarrera batean erabiltzaileen elkarrekintzak saihesteko eta arinagoa izan dadin.
Gehitu disabledatributua a <fieldset>barruko kontrol guztiak desgaitzeko.
Oharra aingurekin
Lehenespenez, arakatzaileek a barruko jatorrizko inprimaki-kontrol guztiak ( <input>, <select>eta <button>elementuak) <fieldset disabled>desgaituta bezala tratatuko dituzte, teklatuaren eta saguaren elkarrekintzak saihestuz. Hala ere, zure inprimakiak <a ... class="btn btn-*">elementuak ere baditu, hauei estilo bat baino ez zaie emango pointer-events: none. Botoien egoera desgaituari buruzko atalean adierazi bezala (eta, zehazki, aingura-elementuen azpiatalean), CSS propietate hau oraindik ez dago estandarizatua eta ez dago guztiz onartzen Internet Explorer 10-n, eta ez die teklatuko erabiltzaileei eragotziko. esteka horiek bideratzeko edo aktibatzeko gai. Beraz, seguru izateko, erabili JavaScript pertsonalizatua estekak desgaitzeko.
Arakatzaileen arteko bateragarritasuna
Bootstrap-ek estilo hauek arakatzaile guztietan aplikatuko dituen arren, Internet Explorer 11 eta ondorengoek ez dute guztiz onartzen disabledatributua <fieldset>. Erabili JavaScript pertsonalizatua arakatzaile hauetan eremu-multzoa desgaitzeko.
Balioztatzea
Eman iritzi baliotsu eta ekingarriak zure erabiltzaileei HTML5 inprimakiaren baliozkotzearekin , gure nabigatzaile bateragarri guztietan eskuragarri . Aukeratu arakatzailearen baliozkotze-iritzia lehenetsia, edo inplementatu mezu pertsonalizatuak gure barneko klaseekin eta hasierako JavaScriptekin.
Gaur egun, baliozkotze-estilo pertsonalizatuak erabiltzea gomendatzen dugu, jatorrizko arakatzailearen baliozkotze-mezu lehenetsiak ez baitira etengabe jasaten laguntza-teknologien aurrean arakatzaile guztietan (batez ere, Chrome mahaigainean eta mugikorrean).
Nola dabil
Hona hemen inprimakien baliozkotzeak Bootstrap-ekin nola funtzionatzen duen:
HTML inprimakiaren baliozkotzea CSSren bi sasi-klaseen bidez aplikatzen da, :invalideta :valid. <input>, <select>, eta <textarea>elementuei aplikatzen zaie .
Bootstrap-ek :invalideta :validestiloak .was-validatedklase nagusira ezartzen ditu, normalean <form>. Bestela, baliorik gabeko derrigorrezko edozein eremu baliogabe gisa agertzen da orria kargatzean. Horrela, noiz aktibatu aukeratu dezakezu (normalean inprimakia bidaltzen saiatu ondoren).
Inprimakiaren itxura berrezartzeko (adibidez, AJAX erabiliz inprimaki dinamikoen bidalketa kasuan), kendu .was-validatedklasea <form>berriro bidali ondoren.
Errepide gisa, .is-invalideta .is-validklaseak erabil daitezke zerbitzariaren baliozkotze sasi-klaseen ordez . Ez dute .was-validatedguraso klaserik behar.
CSS funtzionamenduaren mugak direla eta, ezin ditugu (gaur egun) estiloak aplikatu <label>DOM-en inprimaki-kontrol baten aurretik dagoen bati JavaScript pertsonalizatuaren laguntzarik gabe.
Arakatzaile moderno guztiek mugak baliozkotzeko APIa onartzen dute , inprimakien kontrolak balioztatzeko JavaScript metodo sorta bat.
Iritzi-mezuek arakatzailearen lehenetsiak erabil ditzakete (desberdinak arakatzaile bakoitzeko eta CSS bidez estilizatu ezinak) edo gure iritzi-estilo pertsonalizatuak HTML eta CSS gehigarriekin.
Hori kontuan izanda, kontuan hartu honako demo hauek gure inprimaki pertsonalizatuak baliozkotzeko estiloetarako, zerbitzariaren alboko aukerako klaseetarako eta arakatzailearen lehenespenetarako.
Estilo pertsonalizatuak
novalidateBootstrap inprimakia baliozkotzeko mezu pertsonalizatuetarako, atributu boolearra gehitu beharko duzu zure <form>. Honek arakatzailearen iritzi-aholku lehenetsiak desgaitzen ditu, baina inprimakiak baliozkotzeko APIetarako sarbidea ematen du JavaScript-en. Saiatu beheko formularioa bidaltzen; gure JavaScript-ek bidaltzeko botoia atzemango dizu eta iritzia emango dizu.
Ez al zaizu interesatzen baliozkotze pertsonalizatuaren iritzi-mezuak edo JavaScript idaztea inprimakiaren jokabideak aldatzeko? Dena ondo, arakatzailearen lehenetsiak erabil ditzakezu. Saiatu beheko formularioa bidaltzen. Zure arakatzailearen eta sistema eragilearen arabera, iritzi-estilo apur bat desberdina ikusiko duzu.
Iritzi-estilo hauek CSS-rekin estiloa jarri ezin badira ere, feedbackaren testua pertsonaliza dezakezu JavaScript bidez.
Zerbitzariaren aldean
.is-invalidBezeroaren aldeko baliozkotzea erabiltzea gomendatzen dugu, baina zerbitzariaren aldetik behar baduzu, baliogabeak eta baliozkoak diren inprimaki-eremuak eta rekin adieraz ditzakezu .is-valid. Kontuan izan .invalid-feedbackklase hauekin ere onartzen dela.
Onartutako elementuak
Gure adibide-inprimakiek goian jatorrizko testuak erakusten <input>dituzte, baina inprimakiak baliozkotzeko estiloak ere eskuragarri daude gure inprimaki pertsonalizatuen kontroletarako.
Erreminta-aholkuak
Zure inprimakiaren diseinuak aukera ematen badu, .{valid|invalid}-feedbackklaseak klaseengatik alda ditzakezu .{valid|invalid}-tooltipbaliozkotze-erantzunak estiloko tresna-aholku batean bistaratzeko. Ziurtatu guraso bat position: relativegainean duzula tresna-informazioa kokatzeko. Beheko adibidean, gure zutabe klaseek hori badute dagoeneko, baina baliteke zure proiektuak konfigurazio alternatibo bat behar izatea.
Inprimaki pertsonalizatuak
Are gehiago pertsonalizatzeko eta arakatzaileen arteko koherentzia lortzeko, erabili gure inprimaki-elementu guztiz pertsonalizatuak arakatzailearen lehenetsiak ordezkatzeko. Markatze semantiko eta eskuragarriaren gainean eraikita daude, beraz, inprimaki-kontrol lehenetsien ordezko sendoak dira.
Koadroak eta irratiak
Kontrol -lauki eta irrati bakoitza anai- <div>arreba batekin bilduta dago <span>gure kontrol pertsonalizatua sortzeko eta <label>horrekin batera doan testurako. Egitura aldetik, gure lehenetsitako ikuspegi bera da .form-check.
Anai-arreba-hautatzailea ( ~) erabiltzen dugu gure <input>estatu guztietarako, adibidez :checked, gure inprimaki-adierazle pertsonalizatua behar bezala estilotzeko. Klasarekin konbinatuta, .custom-control-labelelementu bakoitzaren testua ere estilizatu dezakegu <input>'ren egoeraren arabera.
Lehenetsia ezkutatzen dugu <input>eta opacityerabiltzen dugu .custom-control-labelinprimaki-adierazle pertsonalizatu berri bat eraikitzeko eta bere ::beforeordez ::after. Zoritxarrez, ezin dugu pertsonalizaturik sortu <input>CSS- contentek elementu horretan ez duelako funtzionatzen.
Markatutako egoeretan, Open Iconic -eko base64 kapsulatutako SVG ikonoak erabiltzen ditugu . Honek arakatzaile eta gailuetan diseinatzeko eta kokatzeko kontrol onena eskaintzen digu.
Kontrol-laukiak
Kontrol-lauki pertsonalizatuek sasi-klasea ere erabil dezakete :indeterminateJavaScript bidez eskuz ezartzen direnean (ez dago HTML atributurik erabilgarri hori zehazteko).
jQuery erabiltzen ari bazara, nahikoa izango litzateke horrelako zerbait:
Irratiak
Sarean
Desgaituta
Kontrol-lauki pertsonalizatuak eta irratiak ere desgaitu daitezke. Gehitu disabledatributu boolearrari <input>eta adierazle pertsonalizatua eta etiketa deskribapena automatikoki estiloa izango da.
Hautatu menua
Menu pertsonalizatuek <select>klase pertsonalizatu bat baino ez dute behar, .custom-selectestilo pertsonalizatuak abiarazteko. Estilo pertsonalizatuak hasierako itxurara mugatzen dira <select>eta ezin dituzte aldatu <option>nabigatzaileen mugak direla eta.
Aukeraketa pertsonalizatu txikiak eta handiak ere hauta ditzakezu gure tamaina bereko testu-sarrerak bat etor daitezen.
multipleAtributua ere onartzen da :
sizeAtributua den bezala :
Barrutia
Sortu <input type="range">kontrol pertsonalizatuak .custom-range. Pista (atzealdea) eta erpurua (balioa) biak nabigatzaile guztietan berdin ager daitezen. IE-k eta Firefoxek bakarrik onartzen dutenez euren pista "betetzea" erpuruaren ezkerretik edo eskuinetik aurrera bisualki adierazteko bitarteko gisa, ez dugu onartzen.
Barrutiko sarrerek mineta max- 0eta -ren balio inplizituak dituzte 100, hurrenez hurren. Balio berriak zehaztu ditzakezu mineta maxatributuak erabiltzen dituztenentzat.
Lehenespenez, barrutiak balio osoetara "lokatzen" dira. Hau aldatzeko, stepbalio bat zehaztu dezakezu. Beheko adibidean, urrats kopurua bikoiztu egiten dugu step="0.5".
Fitxategi-arakatzailea
Fitxategiaren sarrera multzoko nardagarriena da eta JavaScript gehigarria behar du Aukeratu fitxategi funtzionalarekin… eta hautatutako fitxategi-izenaren testuarekin lotu nahi badituzu.
<input>Fitxategi lehenetsia ezkutatzen dugu opacityeta horren ordez <label>. Botoia sortu eta kokapenarekin kokatzen da ::after. widthAzkenik, a eta heighton deklaratzen dugu <input>inguruko edukietarako tarte egokia izateko.
Kateak itzultzea edo pertsonalizatzea
:lang()Sasi-klasea " Browse" testua beste hizkuntza batzuetara itzultzeko erabiltzen da. Gainidatzi edo gehitu sarrerak $custom-file-textSass aldagaiari dagokion hizkuntza-etiketa eta lokalizatutako kateekin. Ingelesezko kateak modu berean pertsonaliza daitezke. Adibidez, hona hemen nola gehitu litekeen gaztelaniazko itzulpen bat (gaztelaniazko hizkuntza kodea da es):
Hona hemen lang(es)gaztelaniazko itzulpen baterako fitxategi pertsonalizatuaren sarreraren ekintza:
Zure dokumentuaren (edo honen azpizuhaitzaren) hizkuntza behar bezala ezarri beharko duzu testu zuzena erakusteko. Elementuaren atributua edo HTTP goiburua erabiliz egin daiteke ,lang beste metodo batzuen artean.<html>Content-Language