Varmista, että käytät asianmukaista typeattribuuttia kaikissa syötteissä (esim email. sähköpostiosoitteelle tai numbernumeerisille tiedoille), jotta voit hyödyntää uudempia syöttötoimintoja, kuten sähköpostin vahvistusta, numeron valintaa ja paljon muuta.
Tässä on nopea esimerkki Bootstrapin lomaketyyleistä. Jatka lukemista tarvittavien luokkien, lomakkeiden asettelun ja muiden dokumenttien lukemiseksi.
Lomakeohjaimet
Tekstimuotoiset ohjausobjektit, kuten <input>s, <select>s ja <textarea>s, on muotoiltu .form-controlluokan mukaan. Mukana on tyylejä yleisilmettä, tarkennustilaa, kokoa ja muuta varten.
Aseta korkeudet käyttämällä luokkia, kuten .form-control-lgja .form-control-sm.
Lue ainoastaan
Lisää readonlysyötteeseen boolean-attribuutti estääksesi syötteen arvon muuttamisen. Vain luku -tulot näyttävät vaaleammilta (kuten käytöstä poistetut tulot), mutta säilyttävät vakiokohdistimen.
Pelkkää tekstiä vain luku
Jos haluat <input readonly>, että lomakkeesi elementit muotoillaan pelkkäksi tekstiksi, .form-control-plaintextpoista lomakekenttien oletustyyli ja säilytä oikea marginaali ja täyte luokan avulla.
Alueen tulot
Aseta vaakasuunnassa vieritettävät aluetulot käyttämällä .form-control-range.
Valintaruudut ja radiot
Oletusvalintaruutuja ja radioita on parannettu .form-checkkäyttämällä yhtä luokkaa molemmille syöttötyypeille, mikä parantaa niiden HTML-elementtien asettelua ja käyttäytymistä . Valintaruuduilla voit valita yhden tai useamman vaihtoehdon luettelosta, kun taas radiot ovat yhden vaihtoehdon valitsemiseen monista.
Poistettuja valintaruutuja ja radioita tuetaan. Attribuutti disabledkäyttää vaaleampaa väriä, joka auttaa ilmaisemaan syötteen tilan.
Valintaruudut ja valintanapit tukevat HTML-pohjaista lomakkeiden validointia ja tarjoavat tiiviitä, helppokäyttöisiä tarroja. Sellaisenaan meidän <input>s ja <label>s ovat sisaruselementtejä toisin kuin <input>sisällä a <label>. Tämä on hieman monisanaisempi, koska sinun on määritettävä idja forattribuutit suhteuttamaan <input>ja <label>.
Oletus (pinottu)
Oletusarvoisesti mikä tahansa määrä valintaruutuja ja radioita, jotka ovat välittömiä sisaruksia, pinotaan pystysuunnassa ja sopivan välimatkan päässä -merkillä .form-check.
Linjassa
Ryhmittele valintaruudut tai radiot samalle vaakariville lisäämällä .form-check-inlinene mihin tahansa .form-check.
Ilman etikettejä
Lisää .position-staticsyötteisiin, .form-checkjoissa ei ole tunnistetekstiä. Muista silti antaa jonkinlainen etiketti aputekniikoille (esimerkiksi käyttämällä aria-label).
Layout
Koska Bootstrap koskee display: blockja width: 100%lähes kaikkia lomakeohjausobjektejamme, lomakkeet pinotaan oletusarvoisesti pystysuunnassa. Lisäluokilla voidaan muuttaa tätä asettelua lomakkeen mukaan.
Muodosta ryhmiä
.form-groupLuokka on helpoin tapa lisätä lomakkeisiin rakennetta . Se tarjoaa joustavan luokan, joka kannustaa ryhmittelemään oikein tarroja, säätimiä, valinnaisia ohjetekstejä ja lomakkeiden vahvistusviestejä. Oletuksena se koskee vain margin-bottom, mutta se poimii .form-inlinetarvittaessa lisätyylejä. Käytä sitä <fieldset>s:n, <div>s:n tai lähes minkä tahansa muun elementin kanssa.
Lomake ruudukko
Monimutkaisempia lomakkeita voidaan rakentaa ruudukkoluokillamme. Käytä näitä lomakeasetteluissa, jotka vaativat useita sarakkeita, vaihtelevia leveyksiä ja muita kohdistusvaihtoehtoja.
Lomake rivi
Voit myös vaihtaa vakioruudukkorivimme .rowvariaatioon .form-row, joka ohittaa oletusarvoiset sarakkeiden räystäskourut tiukempien ja kompaktimpien asettelujen saamiseksi.
Ruudukkojärjestelmällä voidaan luoda myös monimutkaisempia asetteluja.
Vaakasuora muoto
Luo vaakasuuntaisia lomakkeita ruudukon avulla lisäämällä .rowluokka lomakeryhmiin ja käyttämällä .col-*-*luokkia tarrojen ja säätimien leveyden määrittämiseen. Muista lisätä .col-form-labelomaan<label> s-kirjaimiin, jotta ne ovat pystysuunnassa keskitettyinä niihin liittyvien lomakesäätimien kanssa.
Joskus saatat joutua käyttämään marginaali- tai täyteapuohjelmia luodaksesi tarvitsemasi täydellisen kohdistuksen. Olemme esimerkiksi poistaneet padding-toppinotuista radiotulojen etiketistä tekstin kohdistamiseksi paremmin.
Vaakasuuntainen etiketin koko
Varmista, että käytät tai .col-form-label-sms- tai s-merkkiäsi noudattaaksesi ja kokoa oikein ..col-form-label-lg<label><legend>.form-control-lg.form-control-sm
Sarakkeen mitoitus
Kuten edellisissä esimerkeissä näkyy, ruudukkojärjestelmämme avulla voit sijoittaa minkä tahansa määrän .cols:iä a- .rowtai .form-row. Ne jakavat käytettävissä olevan leveyden tasaisesti keskenään. Voit myös valita osan sarakkeistasi viemään enemmän tai vähemmän tilaa, kun taas loput .cols jakavat loput tasaisesti tietyillä sarakeluokilla, kuten .col-7.
Automaattinen koon määritys
Alla olevassa esimerkissä flexbox-apuohjelma keskittää sisällön pystysuoraan ja muuttaa .colmuotoon .col-autoniin, että sarakkeet vievät vain niin paljon tilaa kuin tarvitaan. Toisin sanoen sarake kokoaa itsensä sisällön perusteella.
Voit sitten miksata sen uudelleen kokokohtaisilla sarakeluokilla.
Käytä .form-inlineluokkaa näyttääksesi sarjan tarroja, lomakesäätimiä ja painikkeita yhdellä vaakasuoralla rivillä. Sisäisten lomakkeiden lomakeohjaimet vaihtelevat hieman oletustiloistaan.
Ohjaimet ovat display: flex, kutistavat kaikki HTML-välilyönnit ja mahdollistavat kohdistuksen ohjauksen väli- ja flexbox - apuohjelmilla.
Ohjaimet ja syöttöryhmät saavat width: autoohittaa Bootstrapin oletusasetuksen width: 100%.
Säätimet näkyvät vain rivissä vain näkymäporteissa, jotka ovat vähintään 576 pikseliä leveät mobiililaitteiden kapeiden kuvaporttien huomioon ottamiseksi.
Saatat joutua käsittelemään yksittäisten lomakesäätimien leveyttä ja kohdistusta manuaalisesti väliapuohjelmien kanssa ( kuten alla on esitetty). Varmista lopuksi, että sisällytät aina <label>jokaisen lomakkeen ohjausobjektin kanssa, vaikka sinun pitäisi piilottaa se vierailijoilta, jotka eivät ole näytönlukijoita .sr-only.
Myös mukautettuja lomakkeiden ohjausobjekteja ja valintoja tuetaan.
Vaihtoehtoja piilotetuille tarroille
Aputekniikoilla, kuten näytönlukuohjelmilla, on ongelmia lomakkeiden kanssa, jos et lisää tunnistetta jokaiselle syötteelle. Voit piilottaa näiden sisäisten lomakkeiden tarrat .sr-onlyluokan avulla. On olemassa muita vaihtoehtoisia menetelmiä, joilla voidaan antaa nimike aputekniikoille, kuten aria-label, aria-labelledbytai titleattribuutti. Jos mitään näistä ei ole, aputekniikat voivat turvautua placeholderattribuutin käyttöön, jos se on olemassa, mutta huomaa, että sen käyttöä placeholdermuiden merkintämenetelmien korvikkeena ei suositella.
Ohjeteksti
Lohkotason ohjeteksti lomakkeisiin voidaan luoda käyttämällä .form-text(tunnetaan aiemmin nimellä .help-blockv3). Sisäinen ohjeteksti voidaan toteuttaa joustavasti käyttämällä mitä tahansa upotettua HTML-elementtiä ja hyödyllisyysluokkia, kuten .text-muted.
Ohjetekstin liittäminen lomakkeen ohjaimiin
Ohjetekstin tulee olla nimenomaisesti liitetty lomakkeen ohjausobjektiin, johon se liittyy aria-describedbymääritteen käyttöön. Tämä varmistaa, että avustavat tekniikat, kuten näytönlukijat, ilmoittavat tämän ohjetekstin, kun käyttäjä keskittyy tai siirtyy ohjaukseen.
Alla olevat ohjetekstit voidaan muotoilla käyttämällä .form-text. Tämä luokka sisältää display: blockja lisää ylämarginaalia helpottaakseen välilyöntejä yllä olevista tuloista.
Salasanasi tulee olla 8–20 merkkiä pitkä, sisältää kirjaimia ja numeroita, eikä se saa sisältää välilyöntejä, erikoismerkkejä tai hymiöitä.
Sisäinen teksti voi käyttää mitä tahansa tyypillistä upotettua HTML-elementtiä (oli se sitten <small>, <span>, tai jotain muuta) ilman muuta kuin hyödyllisyysluokkaa.
Vammaiset lomakkeet
Lisää disabledlooginen attribuutti syötteeseen estääksesi käyttäjän vuorovaikutuksen ja tehdäksesi siitä vaaleamman.
Lisää disabledattribuutti kohtaan a <fieldset>poistaaksesi kaikki ohjaimet käytöstä.
Varoitus ankkureilla
Selaimet käsittelevät oletusarvoisesti kaikkia alkuperäisiä lomakesäätimiä ( ja <input>elementtejä ) a:n sisällä poistettuina, mikä estää sekä näppäimistön että hiiren käytön. Jos lomakkeessasi on kuitenkin myös elementtejä, niille annetaan vain tyyli . Kuten painikkeiden käytöstä poistamista koskevassa osiossa (ja erityisesti ankkurielementtien alaosiossa) todettiin, tämä CSS-ominaisuus ei ole vielä standardoitu eikä sitä tueta täysin Internet Explorer 10:ssä, eikä se estä näppäimistön käyttäjiä voi keskittyä tai aktivoida nämä linkit. Joten varmuuden vuoksi poista tällaiset linkit käytöstä mukautetulla JavaScriptillä.<select><button><fieldset disabled><a ... class="btn btn-*">pointer-events: none
Selainten välinen yhteensopivuus
Vaikka Bootstrap käyttää näitä tyylejä kaikissa selaimissa, Internet Explorer 11 ja sitä vanhemmat versiot eivät täysin tue disabledmääritettä <fieldset>. Käytä mukautettua JavaScriptiä poistaaksesi kenttäjoukon käytöstä näissä selaimissa.
Validointi
Anna käyttäjillesi arvokasta ja hyödyllistä palautetta HTML5-lomakkeen validoinnin avulla – saatavilla kaikissa tuetuissa selaimissamme . Valitse selaimen oletusarvoisesta vahvistuspalautteesta tai toteuta mukautettuja viestejä sisäänrakennetuilla luokilla ja aloitus JavaScriptillä.
Suosittelemme tällä hetkellä käyttämään mukautettuja vahvistustyylejä, koska alkuperäiset selaimen oletusvahvistusviestit eivät ole johdonmukaisesti alttiina avustaville tekniikoille kaikissa selaimissa (etenkin Chromessa pöytäkoneilla ja mobiililaitteilla).
Kuinka se toimii
Näin lomakkeiden vahvistus toimii Bootstrapin kanssa:
HTML-lomakkeen validointia sovelletaan CSS:n kahden pseudoluokan :invalidja :valid. Se koskee elementtejä <input>, <select>, ja <textarea>.
Bootstrap laajentaa :invalidja :validtyylit .was-validatedyläluokkaan, jota yleensä käytetään <form>. Muussa tapauksessa kaikki pakolliset kentät ilman arvoa näkyvät virheellisinä sivun latauksen yhteydessä. Tällä tavalla voit valita, milloin aktivoit ne (yleensä lomakkeen lähettämisen jälkeen).
Jos haluat nollata lomakkeen ulkoasun (esimerkiksi dynaamisten lomakelähetysten tapauksessa AJAXilla), poista .was-validatedluokka <form>uudelleen lähettämisen jälkeen.
Varavaihtoehtona .is-invalidja .is-validluokkia voidaan käyttää pseudo-luokkien sijasta palvelinpuolen validoinnissa . Ne eivät vaadi a.was-validated vanhempien luokkaa.
CSS:n toimintaa koskevien rajoitusten vuoksi emme voi (tällä hetkellä) käyttää tyylejä <label>DOM:n lomakeohjausobjektin edelle ilman mukautetun JavaScriptin apua.
Palauteviestit voivat käyttää selaimen oletusasetuksia (eri selaimissa ja ei-tyyleillä CSS:n kautta) tai mukautettuja palautetyylejämme HTML:n ja CSS:n lisäksi.
Voit antaa mukautettuja kelvollisuusviestejä setCustomValidityJavaScriptissä.
Harkitse tätä ajatellen seuraavia esityksiä mukautettujen lomakkeiden vahvistustyyleistämme, valinnaisista palvelinpuolen luokista ja selaimen oletusasetuksista.
Mukautetut tyylit
Mukautettujen Bootstrap-lomakkeen vahvistusviestien kohdalla sinun on lisättävä novalidateboolean-attribuutti <form>. Tämä poistaa käytöstä selaimen oletuspalautteen työkaluvihjeet, mutta antaa silti pääsyn JavaScriptin lomakkeiden vahvistussovellusliittymiin. Yritä lähettää alla oleva lomake; JavaScript sieppaa lähetyspainikkeen ja välittää palautetta sinulle. Kun yrität lähettää, näet lomakkeen ohjaimissa käytetyt :invalidja tyylit.:valid
Mukautetut palautetyylit käyttävät mukautettuja värejä, reunuksia, tarkennustyylejä ja taustakuvakkeita palautteen välittämiseksi paremmin. Taustakuvakkeet <select>s:lle ovat käytettävissä vain .custom-select, mutta eivät .form-control.
Selaimen oletusasetukset
Etkö ole kiinnostunut mukautetuista vahvistuspalauteviesteistä tai JavaScriptin kirjoittamisesta lomakkeiden käyttäytymisen muuttamiseksi? Kaikki hyvin, voit käyttää selaimen oletusasetuksia. Yritä lähettää alla oleva lomake. Selaimestasi ja käyttöjärjestelmästäsi riippuen näet hieman erilaista palautetta.
Vaikka näitä palautetyylejä ei voi muotoilla CSS:llä, voit silti muokata palautetekstiä JavaScriptin avulla.
Palvelimen puolella
Suosittelemme käyttämään asiakaspuolen vahvistusta, mutta jos tarvitset palvelinpuolen vahvistusta, voit merkitä virheelliset ja kelvolliset lomakekentät - .is-invalidja -painikkeilla .is-valid. Huomaa, että se .invalid-feedbackon myös tuettu näillä luokilla.
Tuetut elementit
Vahvistustyylit ovat saatavilla seuraaville lomakeohjausobjekteille ja komponenteille:
<input>s ja <textarea>s .form-control(mukaan lukien enintään yksi .form-controlsyöttöryhmissä)
<select>s .form-controltai.custom-select
.form-checks
.custom-checkboxs ja .custom-radios
.custom-file
Työkaluvinkit
Jos lomakkeen asettelu sallii sen, voit vaihtaa .{valid|invalid}-feedbackluokat .{valid|invalid}-tooltipluokkiin näyttääksesi vahvistuspalautteen tyylitellyssä työkaluvihjeessä. Varmista, että vanhempi on position: relativemukana työkaluvihjeiden sijoittamista varten. Alla olevassa esimerkissä sarakeluokissamme on tämä jo, mutta projektisi saattaa vaatia vaihtoehtoisen asennuksen.
Mukauttaminen
Validointitiloja voidaan mukauttaa Sassin kautta $form-validation-stateskartan avulla. Tämä tiedostossamme sijaitseva Sass-kartta on silmukan päällä oletus- / vahvistustilojen _variables.scssluomiseksi . Mukana on sisäkkäinen kartta kunkin osavaltion värin ja kuvakkeen mukauttamiseen. Vaikka selaimet eivät tue muita tiloja, mukautettuja tyylejä käyttävät käyttäjät voivat helposti lisätä monimutkaisempaa palautetta lomakkeeseen.validinvalid
Huomaa, että emme suosittele näiden arvojen mukauttamista muuttamatta myös form-validation-statemiksausta.
Mukautetut lomakkeet
Käytä täysin mukautettuja lomakeelementtejämme korvaamaan selaimen oletusasetukset, jotta saat entistä enemmän räätälöinnin ja selainyhdenmukaisuuden. Ne on rakennettu semanttisten ja helppokäyttöisten merkintöjen päälle, joten ne korvaavat kaikki oletuslomakkeen hallinnan.
Valintaruudut ja radiot
Jokainen valintaruutu ja radio <input>ja <label>pariliitos on kääritty <div>mukautetun ohjausobjektin luomiseksi. Rakenteellisesti tämä on sama lähestymistapa kuin oletusarvomme .form-check.
Käytämme sisarusvalitsinta ( ~) kaikissa <input>osavaltioissamme, kuten :checkedmukautetun lomakkeen ilmaisimen oikean tyylin määrittämiseksi. Yhdistettynä .custom-control-labelluokkaan voimme myös muotoilla kunkin kohteen tekstin <input>tilan perusteella.
Piilotamme oletusarvon <input>ja opacitykäytämme .custom-control-label-merkkiä luodaksesi uuden mukautetun lomakkeen ilmaisimen sen tilalle painikkeella ::beforeja ::after. Valitettavasti emme voi rakentaa mukautettua vain siitä, <input>koska CSS: contentt eivät toimi kyseisellä elementillä.
Valituissa tiloissa käytämme Open Iconicista upotettuja base64-SVG - kuvakkeita . Tämä tarjoaa meille parhaan hallinnan tyyliin ja sijoitteluun eri selaimissa ja laitteissa.
valintaruudut
Mukautetut valintaruudut voivat myös käyttää :indeterminatepseudoluokkaa, kun se on asetettu manuaalisesti JavaScriptin kautta (sen määrittämiseen ei ole käytettävissä HTML-attribuuttia).
Jos käytät jQueryä, tämän pitäisi riittää:
Radiot
Linjassa
Liikuntarajoitteinen
Mukautetut valintaruudut ja radiot voidaan myös poistaa käytöstä. Lisää disabledboolean-attribuutti kohtaan, <input>jolloin mukautettu ilmaisin ja tunnisteen kuvaus muotoillaan automaattisesti.
Kytkimet
Kytkimessä on mukautetun valintaruudun merkintä, mutta se käyttää .custom-switchluokkaa vaihtokytkimen hahmontamiseen. Kytkimet tukevat myös disabledmääritettä.
Valitse valikko
Mukautetut <select>valikot tarvitsevat vain mukautetun luokan .custom-selectkäynnistääkseen mukautetut tyylit. Mukautetut tyylit rajoittuvat <select>alkuperäiseen ulkoasuun, eivätkä ne voi muokata tyyliä <option>selaimen rajoitusten vuoksi.
Voit myös valita pienistä ja suurista mukautetuista valinnoista vastaamaan samankokoisia tekstinsyöttöjämme.
Attribuuttia multipletuetaan myös:
Kuten sizeattribuutti:
Alue
Luo mukautettuja <input type="range">säätimiä käyttämällä .custom-range. Raita (tausta) ja peukalo (arvo) on suunniteltu näyttämään samalta kaikissa selaimissa. Koska vain IE ja Firefox tukevat kappaleiden "täyttämistä" peukalon vasemmalla tai oikealla puolella keinona ilmaista visuaalisesti edistystä, emme tue sitä tällä hetkellä.
Aluetuloilla on implisiittiset arvot minja max— 0ja 100vastaavasti. Voit määrittää uusia arvoja niille, jotka käyttävät attribuutteja minja .max
Oletusarvoisesti alueen syötteet "snapsaavat" kokonaislukuarvoihin. Voit muuttaa tätä määrittämällä steparvon. Alla olevassa esimerkissä tuplaamme vaiheiden määrän käyttämällä step="0.5".
Tiedostoselain
Suositeltu laajennus mukautetun tiedostosyötteen animointiin: bs-custom-file-input , jota käytämme tällä hetkellä täällä asiakirjoissamme.
Tiedoston syöttö on joukosta räikein ja vaatii lisää JavaScriptiä, jos haluat liittää ne toiminnalliseen Valitse tiedosto… ja valitun tiedostonimen tekstiin.
Piilotamme oletustiedoston <input>kautta opacityja muotoilemme sen sijaan <label>. Painike luodaan ja sijoitetaan painikkeella ::after. Lopuksi ilmoitamme a- widthja -merkkien heightoikean välityksen <input>varmistamiseksi ympäröivälle sisällölle.
Merkkien kääntäminen tai mukauttaminen SCSS:llä
Pseudoluokkaa :lang()käytetään mahdollistamaan "Selaa"-tekstin kääntäminen muille kielille. Ohita tai lisää merkintöjä $custom-file-textSass-muuttujaan asiaankuuluvalla kielitunnisteella ja lokalisoiduilla merkkijonoilla. Englanninkieliset kielet voidaan mukauttaa samalla tavalla. Esimerkiksi näin voidaan lisätä espanjankielinen käännös (espanjan kielikoodi on es):
Tässä on lang(es)toiminnassa espanjankielisen käännöksen mukautettu tiedosto:
Sinun on asetettava asiakirjan (tai sen alipuun) kieli oikein, jotta oikea teksti näytetään. Tämä voidaan tehdä käyttämällä elementin attribuuttia langtai<html> HTTP- Content-Languageotsikkoa muiden menetelmien ohella.
Merkkijonojen kääntäminen tai mukauttaminen HTML:llä
Bootstrap tarjoaa myös tavan kääntää "Selaa"-teksti HTML:ssä data-browseattribuutilla, joka voidaan lisätä mukautettuun syöttötunnisteeseen (esimerkki hollanniksi):