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.
Barrutiko 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. Atributuak kolore argiagoa aplikatuko du disabledsarreraren egoera adierazten laguntzeko.
Kontrol-laukiek eta irrati-botoiek HTMLn oinarritutako inprimakien baliozkotzea onartzen dute eta etiketa zehatzak eta eskuragarriak eskaintzen dituzte. 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
Inprimaki konplexuagoak eraiki daitezke gure sareko klaseak erabiliz. 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-toppilatutako irrati-sarrerak 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 espresuki 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 edozein lerroko HTML elementu tipiko 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. Bidaltzen saiatzean, :invalideta :validestiloak ikusiko dituzu inprimakiaren kontroletan aplikatuta.
Iritzi-estilo pertsonalizatuek kolore pertsonalizatuak, ertzak, foku-estiloak eta atzeko planoko ikonoak aplikatzen dituzte, iritzia hobeto komunikatzeko. S -rako atzeko planoko ikonoak <select>rekin soilik daude erabilgarri .custom-select, eta ez .form-control.
Arakatzailearen lehenetsiak
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 aldetik baliozkotzea gomendatzen dugu, baina zerbitzariaren aldetik baliozkotzea behar baduzu, baliogabeak eta baliozkoak diren inprimaki-eremuak eta rekin adieraz ditzakezu .is-valid. Kontuan izan .invalid-feedbackklase hauekin ere onartzen dela.
Onartutako elementuak
Balidazio-estiloak eskuragarri daude inprimaki-kontrol eta osagai hauetarako:
<input>s eta <textarea>s-ekin .form-control( .form-controlsarrera-taldeetako bat barne)
<select>s .form-controledo.custom-select
.form-checks
.custom-checkboxs eta .custom-radios
.custom-file
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.
Pertsonalizatzea
Balidazio-egoerak Sass bidez pertsonaliza daitezke $form-validation-statesmaparekin. Gure fitxategian kokatuta _variables.scss, Sass mapa hau begiztatuta dago lehenetsitako valid/ invalidbaliozkotze egoerak sortzeko. Estatu bakoitzaren kolorea eta ikonoa pertsonalizatzeko habiaratutako mapa dago barne. Arakatzaileek beste estaturik onartzen ez duten arren, estilo pertsonalizatuak erabiltzen dituztenek erraz gehi ditzakete inprimaki-erantzun konplexuagoak.
Kontuan izan ez dugula gomendatzen balio hauek pertsonalizatzea form-validation-statemixin-a ere aldatu gabe.
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
Each checkbox and radio <input> and <label> pairing is wrapped in a <div> to create our custom control. Structurally, this is the same approach as our default .form-check.
We use the sibling selector (~) for all our <input> states—like :checked—to properly style our custom form indicator. When combined with the .custom-control-label class, we can also style the text for each item based on the <input>’s state.
We hide the default <input> with opacity and use the .custom-control-label to build a new custom form indicator in its place with ::before and ::after. Unfortunately we can’t build a custom one from just the <input> because CSS’s content doesn’t work on that element.
In the checked states, we use base64 embedded SVG icons from Open Iconic. This provides us the best control for styling and positioning across browsers and devices.
Checkboxes
Custom checkboxes can also utilize the :indeterminate pseudo class when manually set via JavaScript (there is no available HTML attribute for specifying it).
If you’re using jQuery, something like this should suffice:
Radios
Inline
Disabled
Custom checkboxes and radios can also be disabled. Add the disabled boolean attribute to the <input> and the custom indicator and label description will be automatically styled.
Switches
A switch has the markup of a custom checkbox but uses the .custom-switch class to render a toggle switch. Switches also support the disabled attribute.
Select menu
Custom <select> menus need only a custom class, .custom-select to trigger the custom styles. Custom styles are limited to the <select>’s initial appearance and cannot modify the <option>s due to browser limitations.
You may also choose from small and large custom selects to match our similarly sized text inputs.
The multiple attribute is also supported:
As is the size attribute:
Range
Create custom <input type="range"> controls with .custom-range. The track (the background) and thumb (the value) are both styled to appear the same across browsers. As only IE and Firefox support “filling” their track from the left or right of the thumb as a means to visually indicate progress, we do not currently support it.
Range inputs have implicit values for min and max—0 and 100, respectively. You may specify new values for those using the min and max attributes.
By default, range inputs “snap” to integer values. To change this, you can specify a step value. In the example below, we double the number of steps by using step="0.5".
File browser
The recommended plugin to animate custom file input: bs-custom-file-input, that’s what we are using currently here in our docs.
The file input is the most gnarly of the bunch and requires additional JavaScript if you’d like to hook them up with functional Choose file… and selected file name text.
We hide the default file <input> via opacity and instead style the <label>. The button is generated and positioned with ::after. Lastly, we declare a width and height on the <input> for proper spacing for surrounding content.
Translating or customizing the strings with SCSS
The :lang() pseudo-class is used to allow for translation of the “Browse” text into other languages. Override or add entries to the $custom-file-text Sass variable with the relevant language tag and localized strings. The English strings can be customized the same way. For example, here’s how one might add a Spanish translation (Spanish’s language code is es):
Here’s lang(es) in action on the custom file input for a Spanish translation:
You’ll need to set the language of your document (or subtree thereof) correctly in order for the correct text to be shown. This can be done using the lang attribute on the <html> element or the Content-Language HTTP header, among other methods.
Kateak HTMLrekin itzultzea edo pertsonalizatzea
Bootstrap-ek "Arakatu" testua HTML-n itzultzeko modua ere eskaintzen du data-browsesarrera pertsonalizatuaren etiketara gehi daitekeen atributuarekin (adibidea nederlanderaz):