példák és használati útmutatók az űrlapvezérlési stílusokhoz, az elrendezési lehetőségekhez és az egyedi komponensekhez az űrlapok széles választékának létrehozásához.
áttekintés
Bootstrap form controls bővíteni a újraindított formában stílusok osztályok. Ezekkel az osztályokkal választhatja be a testreszabott kijelzőket a böngészők és eszközök közötti konzisztensebb megjelenítéshez.
minden bemeneten használjon megfelelő type
attribútumot (pl.,,email
e-mail címhez vagynumber
numerikus információkhoz), hogy kihasználhassa az újabb bemeneti vezérlőket, például az e-mail ellenőrzést, a számválasztást stb.
itt egy gyors példa a Bootstrap formastílusainak bemutatására. Olvassa tovább a szükséges osztályok dokumentációját, az űrlap elrendezését stb.
Form controls
ügyeljen arra, hogy vizsgálja meg az egyéni formák további stílus <select>
s.
fájl bemenetek, swap a.form-control
.form-control-file
div>.,
méretezés
magasságok beállítása olyan osztályokkal, mint a .form-control-lg
és .form-control-sm
.
Readonly
adja hozzá areadonly
boolean attribútumot egy bemeneten, hogy megakadályozza a bemenet értékének módosítását. A csak olvasható bemenetek könnyebbek (csakúgy, mint a letiltott bemenetek), de megtartják a standard kurzort.,
olvasható egyszerű szöveg
Ha <input readonly>
elemek az egyszerű szövegformátumú űrlapban használja a .form-control-plaintext
osztályt az alapértelmezett űrlapmező stílusának eltávolításához, valamint a megfelelő margó és padding megőrzéséhez.
tartomány bemenetek
állítsa vízszintesen görgethető tartomány bemenetek segítségével .form-control-range
.,
jelölőnégyzetek és rádiók
alapértelmezett jelölőnégyzetek és rádiók javulnak a .form-check
, egy osztály mindkét bemeneti típushoz, amely javítja HTML elemeik elrendezését és viselkedését. A jelölőnégyzetek egy vagy több lehetőség kiválasztására szolgálnak a listában, míg a rádiók egy lehetőség kiválasztására szolgálnak sok közül.
letiltott jelölőnégyzetek és rádiók támogatottak. Adisabled
attribútum világosabb színt alkalmaz a bemenet állapotának jelzésére.,
a jelölőnégyzetek és a rádiók használata a HTML-alapú űrlapellenőrzés támogatására és tömör, hozzáférhető címkék biztosítására szolgál. Mint ilyen, a <input>
s és<label>
s testvérelemek, szemben a<input>
egy<label>
. Ez valamivel beszédesebb, mivel meg kell adnia a id
és for
attribútumokat a <input>
és <label>
.,
alapértelmezett (halmozott)
alapértelmezés szerint tetszőleges számú jelölőnégyzet és rádió, amelyek közvetlen testvér lesz függőlegesen egymásra, és megfelelően elosztva.form-check
.
Inline
Csoport jelölőnégyzeteket, vagy rádiók ugyanazon a vízszintes sor hozzáadásával .form-check-inline
bármilyen .form-check
.,
2
3 (disabled)
címkék nélkül
Add .position-static
belül .form-check
, hogy nincs címkeszöveg. Ne feledje, hogy továbbra is adjon valamilyen címkét a segítő technológiákhoz (például a aria-label
használatával).,
Layout
mivel Bootstrap vonatkozik display: block
és width: 100%
szinte minden űrlapvezérlőnkre az űrlapok alapértelmezés szerint függőlegesen veremeznek. További osztályok használhatók ezen elrendezés formánként történő változtatására.
Form csoportok
a .form-group
osztály a legegyszerűbb módja annak, hogy bizonyos struktúrákat adjunk az űrlapokhoz. Rugalmas osztályt biztosít, amely ösztönzi a címkék, az ellenőrzések, az opcionális súgószöveg és az űrlap-érvényesítési üzenetek megfelelő csoportosítását., Alapértelmezés szerint csak a margin-bottom
– ra vonatkozik, de szükség szerint további stílusokat vesz fel a .form-inline
– ban. Használja a <fieldset>
s, <div>
s, vagy szinte bármilyen más elem.
Form grid
bonyolultabb űrlapok építhetők a grid osztályok segítségével. Ezeket több oszlopot, változatos szélességet és további igazítási lehetőségeket igénylő formaelrendezésekhez használja.,
Form row
akkor is swap .row
.form-row
, egy változata a standard rács sor, amely felülírja az alapértelmezett oszlop ereszcsatornák szigorúbb és kompaktabb elrendezések.
bonyolultabb elrendezések is létrehozhatók a rácsrendszerrel.
vízszintes forma
Hozzon létre vízszintes űrlapokat a rácskal a .row
osztály hozzáadásával csoportok kialakításához és a osztályok segítségével adja meg a címkék és vezérlők szélességét., Feltétlenül adja hozzá a.col-form-label
<label>
s – ot, így azok függőlegesen középre vannak állítva a hozzájuk tartozó űrlapvezérlőkkel.
időnként előfordulhat, hogy margót vagy párnázó segédprogramokat kell használnia a szükséges tökéletes igazítás létrehozásához. Például eltávolítottuk apadding-top
– ot a halmozott rádióbemenetek címkéjén, hogy jobban igazítsuk a szöveg alapvonalát.,
vízszintes formacímke méretezése
oszlop méretezése
amint az az előző példákban látható, rácsrendszerünk lehetővé teszi, hogy tetszőleges számú .col
s-t helyezzen el egy .row
vagy .form-row
. A rendelkezésre álló szélességet egyenlően osztják fel közöttük. Az oszlopok egy részhalmazát is kiválaszthatja, hogy több vagy kevesebb helyet foglaljon el, míg a fennmaradó .col
s egyenlően osztja meg a többit, olyan oszloposztályokkal, mint a .col-7
.,
Auto-sizing
az alábbi példa egy flexbox segédprogramot használ a tartalom függőleges középpontjába, és megváltoztatja a .col
.col-auto
értéket, így az oszlopok csak annyi helyet foglalnak el, amennyire szükséges. Más módon, az oszlop mérete maga a tartalom alapján.
akkor majd remix, hogy ismét a méret-specifikus oszlop osztályok.
és természetesen az egyéni űrlapvezérlők is támogatottak.,
Inline forms
használja a .form-inline
osztályt egy sor címke, forma vezérlő és gomb megjelenítéséhez egyetlen vízszintes sorban. Form controls belül inline forms kissé eltérnek az alapértelmezett Államok.
- vezérlők
display: flex
, összeomló HTML fehér tér, amely lehetővé teszi, hogy igazítás vezérlés térköz és flexbox segédprogramok. - vezérlők és beviteli csoportok
width: auto
a Bootstrap alapértelmezettwidth: 100%
felülbírálásához., - A vezérlők csak sorban jelennek meg a legalább 576px szélességű nézetablakokban, hogy a mobileszközökön keskeny nézetportokat lehessen figyelembe venni.
előfordulhat, hogy manuálisan kell kezelnie az egyes űrlapvezérlők szélességét és igazítását a térköz segédprogramokkal (az alábbiak szerint). Végül feltétlenül mindig tartalmazzon egy<label>
minden űrlapvezérlővel, még akkor is, ha el kell rejtenie a nem képernyőolvasó látogatóktól a.sr-only
.
egyéni űrlapvezérlők és kiválasztások szintén támogatottak.,
a rejtett címkék alternatívái
Segítő technológiák, például a képernyőolvasók problémái lesznek az űrlapokkal, ha nem tartalmaz címkét minden bemenethez. Ezen inline űrlapok esetében a címkéket a .sr-only
osztály segítségével rejtheti el. Vannak további alternatív módszerek a segítő technológiák címkéjének biztosítására, mint például a aria-label
, aria-labelledby
vagy title
attribútum., Ha ezek egyike sem létezik, a segédtechnológiák igényelhetik a placeholder
attribútum használatát, ha vannak ilyenek, de ne feledje, hogy a placeholder
használata más címkézési módszerek helyettesítésére nem javasolt.
súgószöveg
blokk szintű súgószöveg az űrlapokban a.form-text
segítségével hozható létre (korábban.help-block
a v3-ban). Inline súgó szöveg rugalmasan megvalósítható bármely inline HTML elem és segédprogram osztályok, mint a .text-muted
.,
a Súgó szövegének hozzárendelése a form controls
Súgószöveghez kifejezetten kapcsolódnia kell a aria-describedby
attribútum használatával kapcsolatos űrlapvezérléshez. Ez biztosítja, hogy a segítő technológiák—például a képernyőolvasók—bejelentsék ezt a súgószöveget, amikor a felhasználó összpontosít vagy belép a vezérlőbe.
súgó szöveg alatti bemenetek lehet stilizált .form-text
. Ez az osztály tartalmazza a display: block
értéket, és hozzáad néhány felső margót a fenti bemenetektől való könnyű távolság érdekében.,
az Inline szöveg bármilyen tipikus inline HTML elemet használhat (legyen az a <small>
, <span>
vagy valami más), nem más, mint egy segédprogram osztály.
letiltott űrlapok
adja hozzá a disabled
logikai attribútumot egy bemenethez, hogy megakadályozza a felhasználói interakciókat, és könnyebbé tegye azt.,
adja hozzá a disabled
attribútumot a <fieldset>
az összes vezérlő letiltása.
kikötés horgonyokkal
alapértelmezés szerint a böngészők minden natív űrlap vezérlőt kezelnek (<input>
,<select>
és<button>
elemek) a<fieldset disabled>
letiltva, megakadályozva mind a billentyűzet, mind az egér interakcióit., Ha azonban az űrlapod tartalmaz <a ... class="btn btn-*">
elemeket is, akkor ezek csak a pointer-events: none
stílust kapják. Amint azt a részt, ami tiltva állami gombok (különösen a alszakasz a horgony elem), ez a CSS tulajdonság még nem szabványosított, illetve nem teljes mértékben támogatja az Internet Explorer 10 nem akadályozza meg a billentyűzet felhasználókat abban, hogy képes koncentrálni, vagy aktiválja ezeket a linkeket. Tehát a biztonság érdekében használja az egyéni JavaScriptet az ilyen linkek letiltásához.,
cross-browser kompatibilitás
míg Bootstrap fogja alkalmazni ezeket a stílusokat minden böngészőben, Internet Explorer 11 alatt nem teljes mértékben támogatja a disabled
attribútum a <fieldset>
. Használja az egyéni JavaScriptet a mező letiltásáhozkészlet ezekben a böngészőkben.
Validation
értékes, megvalósítható visszajelzést nyújt a felhasználóknak a HTML5 Form validation segítségével-minden támogatott böngészőnkben elérhető. Válasszon a böngésző alapértelmezett validációs visszajelzéseiből, vagy valósítson meg egyedi üzeneteket a beépített osztályainkkal, valamint a starter JavaScript segítségével.,
jelenleg az egyéni érvényesítési stílusok használatát javasoljuk, mivel a natív böngésző alapértelmezett érvényesítési üzenetei nem minden böngészőben vannak következetesen kitéve a segítő technológiáknak (leginkább az asztali és mobil Chrome-ban).
hogyan működik
így működik a Form validation Bootstrap:
- HTML form validation a CSS két pszeudo-osztályán keresztül történik, és
:valid
. Ez vonatkozik a<input>
,<select>
és<textarea>
elemekre., - a
:invalid
és:valid
.was-validated
osztály, általában a<form>
osztályra alkalmazzák. Ellenkező esetben az érték nélküli kötelező mező érvénytelennek tűnik az oldal betöltésekor. Így kiválaszthatja, hogy mikor aktiválja őket (általában az űrlap benyújtásának megkísérlése után). - az űrlap megjelenésének visszaállításához (például dinamikus űrlap beküldése esetén az AJAX használatával) távolítsa el a
.was-validated
osztályt a<form>
osztályból a benyújtás után., - tartalékként és
.is-valid
osztályok használhatók a szerver oldali validációhoz használt álosztályok helyett. Nem igényelnek.was-validated
szülőosztályt. - a CSS működésének korlátozásai miatt (jelenleg) nem alkalmazhatunk stílusokat a
<label>
– ra, amely a DOM-ban az űrlapvezérlés előtt jön létre egyéni JavaScript nélkül. - minden modern böngésző támogatja a constraint validation API-t, egy sor JavaScript módszert az űrlapvezérlők érvényesítésére.,
- a visszajelzési üzenetek felhasználhatják a böngésző alapértékeit (minden böngészőnél eltérő, CSS-en keresztül nem definiálható) vagy az egyéni visszacsatolási stílusokat további HTML-vel és CSS-vel.
- egyedi érvényességi üzeneteket adhat meg a
setCustomValidity
JavaScript-ben.
ezt szem előtt tartva, fontolja meg a következő demókat az egyéni űrlap érvényesítési stílusainkhoz, az opcionális szerver oldali osztályokhoz, valamint a böngésző alapértelmezett értékeihez.,
egyéni stílusok
az egyéni Bootstrap form validációs üzenetekhez a novalidate
logikai attribútumot kell hozzáadnia a <form>
. Ez letiltja a böngésző alapértelmezett feedback tooltips, de még mindig hozzáférést biztosít az űrlap validation API-k JavaScript. Próbálja meg elküldeni az alábbi űrlapot; a JavaScript elfogja a küldés gombot, majd továbbítja a visszajelzést az Ön számára. A beküldési kísérlet során megjelenik a:invalid
és a:valid
stílusok az űrlapvezérlőkre.,
Az egyéni visszajelzési stílusok egyéni színeket, szegélyeket, fókuszstílusokat és háttérikonokat alkalmaznak a visszajelzések jobb kommunikációjához. A <select>
s háttérikonok csak a .custom-select
, nem pedig a .form-control
alatt érhetők el.
böngésző Alapértékei
nem érdekli az egyéni érvényesítési visszajelzési üzenetek vagy a JavaScript írása az űrlap viselkedésének megváltoztatásához? Minden jó, használhatja a böngésző alapértelmezett értékeit. Próbálja meg benyújtani az alábbi űrlapot. Böngészőjétől és operációs rendszerétől függően kissé eltérő visszajelzési stílus jelenik meg.,
bár ezeket a visszacsatolási stílusokat nem lehet stílusosítani a CSS-vel, a visszacsatolási szöveget továbbra is testreszabhatja a JavaScript segítségével.
Server side
javasoljuk a kliens oldali érvényesítést, de ha szerver oldali érvényesítésre van szüksége, akkor érvénytelen és érvényes űrlapmezőket jelölhet meg és .is-valid
. Vegye figyelembe, hogy a.invalid-feedback
ezekkel az osztályokkal is támogatott.,
Támogatott elemek
Ellenőrzési stílusok érhetők el az alábbi űrlap-vezérlőelemek, valamint összetevők:
Tippek
Ha a képernyő-elrendezés lehetővé teszi, lehet cserélni a .{valid|invalid}-feedback
osztályok .{valid|invalid}-tooltip
osztályok megjelenítéséhez érvényesítési visszajelzéseket a stílusú tooltip. Ügyeljen arra, hogy a szülő position: relative
rajta tooltip pozicionálás. Az alábbi példában oszloposztályaink már rendelkeznek ezzel, de a projekthez alternatív beállítás szükséges.,
testreszabása
Validation Államok testreszabható keresztül Sass a $form-validation-states
térkép. A _variables.scss
fájlban található Sass térkép át van hurkolva az alapértelmezett valid
/invalid
validációs állapotok létrehozásához. Ide tartozik egy beágyazott térkép az egyes államok színének és ikonjának testreszabásához. Míg a böngészők nem támogatnak más állapotokat, az egyéni stílusokat használók könnyen hozzáadhatnak összetettebb űrlap-visszajelzést.,
Felhívjuk figyelmét, hogy nem javasoljuk ezen értékek testreszabását a form-validation-state
mixin módosítása nélkül.
Egyéni űrlapok
a Még Több testreszabáshoz és a böngészők közötti konzisztenciához használja teljesen egyedi formaelemeinket a böngésző alapértékeinek cseréjéhez. A szemantikai és hozzáférhető jelölések tetejére épülnek, így szilárd helyettesítői az alapértelmezett formavezérlésnek.,
jelölőnégyzetek és rádiók
minden jelölőnégyzet és rádió <input>
és <label>
a párosítás <div>
egyéni vezérlésünk létrehozásához. Szerkezetileg ez ugyanaz a megközelítés, mint az alapértelmezett .form-check
.
a testvérválasztót (~
) használjuk minden <input>
állapothoz—mint például a :checked
—az egyéni űrlapjelzőnk megfelelő stílusához., Ha együtt a .custom-control-label
osztály, mi is stílus a szöveg minden elem alapján a <input>
‘ s állapot.
elrejtjük az alapértelmezett <input>
opacity
és a.custom-control-label
új egyéni űrlap mutató létrehozásához a helyén ::before
és ::after
. Sajnos nem tudunk egy egyéni egy csak a <input>
mert CSS content
nem működik, hogy az elem.,
az ellenőrzött Államokban Base64 beágyazott SVG ikonokat használunk az Open Iconic-ból. Ez biztosítja számunkra a legjobb irányítást stílus és helymeghatározás böngészők és eszközök.
Jelölőnégyzet
az Egyéni jelölőnégyzetek is használja a :indeterminate
pszeudo osztály, amikor kézzel állítsa keresztül JavaScript (nincs elérhető HTML attribútumot megadása).,
Ha a jQuery, valami, mint ez elegendő lesz:
Rádió
Inline
Tiltva
az Egyéni jelölőnégyzeteket, majd a rádiók is le van tiltva., Add meg a disabled
logikai tulajdonság, hogy a <input>
, majd az egyéni indikátor, valamint a címke leírás automatikusan stílusú.
kapcsolók
egy kapcsolónak van egy egyéni jelölőnégyzete, de a.custom-switch
osztályt használja a váltókapcsoló megjelenítéséhez. A kapcsolók támogatják a disabled
attribútumot is.,
válassza ki a menüt
egyéni <select>
a menüknek csak egyéni osztályra van szükségük, .custom-select
az egyéni stílusok kiváltásához. Az egyéni stílusok a <select>
kezdeti megjelenésére korlátozódnak, a <option>
s értéket a böngésző korlátai miatt nem lehet módosítani.
a kis és nagy egyéni beállítások közül is választhat, hogy megfeleljen a hasonló méretű szövegbeviteleinknek.,
A multiple
attribútum is támogatott:
a size
attribútum:
Tartomány
egyéni <input type="range">
controls .custom-range
. A sáv (a háttér) és a hüvelykujj (az érték) egyaránt úgy van kialakítva, hogy a böngészők között azonos legyen. Mivel csak az IE és a Firefox támogatja a hüvelykujj bal vagy jobb oldalán található sávok “kitöltését”, mint a haladás vizuális jelzését, jelenleg nem támogatjuk.,
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., Ennek megváltoztatásához megadhat egy step
értéket. Az alábbi példában megduplázzuk a lépések számát a step="0.5"
használatával.
file browser
az ajánlott plugin animálni egyéni fájl bemenet: bs-custom-file-input, ez az, amit használunk jelenleg itt a dokinkban.,
a fájlbevitel a legtöbb gnarly a csomó, és további Javascriptet igényel, ha azt szeretné, hogy horog őket funkcionális válassza fájl… és a kiválasztott fájlnév szöveget.
elrejtjük az alapértelmezett fájlt <input>
via opacity
, ehelyett stílusosítsa a <label>
. A gomb generálása és elhelyezése ::after
. Végül kijelentjük, hogy awidth
ésheight
a<input>
megfelelő távolság a környező tartalom.,
A karakterláncok fordítása vagy testreszabása SCSS
a:lang()
pszeudo-osztály a “Tallózás” szöveg más nyelvekre történő fordításának engedélyezésére szolgál. Írja felül a $custom-file-text
Sass változót a megfelelő nyelvi címkével és lokalizált karakterláncokkal. Az angol húrok ugyanúgy testreszabhatók., Például itt van, hogyan lehet hozzáadni egy spanyol fordítást (a Spanyol nyelv kódja es
):
Leave a Reply