Skip to content

CSS: form-field

.instui-form-field — Un envolupant de camp de formulari: una etiqueta, els seus controls i dissenys en línia, obligatoris o només de lectura.

Un missatge d'error roman ocult fins que el control del camp estigui :user-invalid (després que l'usuari interactuï) o afegeixis la classe -invalid. Utilitza -layout-inline per posar l'etiqueta al costat dels controls i -layout-stacked per col·locar-la a sobre. També estableix el seu propi gap entre l'etiqueta, els controls i els missatges; encadenar un modificador d'espaiat -gap-* anul·la aquest valor incorporat.

Source: form-field.css

Accessibilitat

L'element <label> envolta el control, així que el text de l'etiqueta el designa nativament; l'asterisc que indica obligació és decoratiu i s'ha d'ocultar per a les tecnologies d'assistència (aria-hidden), i el missatge d'error apareix un cop el control estigui :user-invalid o afegeixis la classe -invalid.

Ús

css
@import "@pantoken/components/components.css";
@import "@pantoken/components/form-field.css";

Exemples

html
<label class="instui-form-field">
  <span class="label">Email address</span>
  <span class="controls"><input class="instui-text-input" type="email" placeholder="[email protected]"></span>
  <div class="instui-form-field-messages">
    <span class="instui-form-field-message -type-hint">We'll never share it.</span>
    <span class="instui-form-field-message -type-error">Enter a valid email address.</span>
  </div>
</label>

Estructura

text
.instui-form-field
  .label
  .controls
    text-input (component)
  form-field-messages (component)
flowchart TD n0[".instui-form-field"]:::cssdoc-root n1(".label"):::cssdoc-part n2(".controls"):::cssdoc-part n3(["text-input"]):::cssdoc-component n4(["form-field-messages"]):::cssdoc-component n0 --> n1 n2 --> n3 n0 --> n2 n0 --> n4 click n3 "/api/css/text-input.md" click n4 "/api/css/form-field-messages.md" classDef cssdoc-root stroke-width:1px; classDef cssdoc-part stroke-width:1px; classDef cssdoc-slot stroke-width:1px; classDef cssdoc-component stroke-width:1px;

Modificadors

ModificadorDescripció
.-inlineDisseny en línia (abreviatura de -layout-inline).
.-invalidEstat invàlid (error).
.-label-align-endAlinea el text de l'etiqueta al final.
.-label-align-startAlinea el text de l'etiqueta a l'inici.
.-layout-inlineDisseny en línia: etiqueta al costat dels controls.
.-layout-stackedDisseny apilat: etiqueta a sobre dels controls.
.-readonlyEstat de només lectura.
.-v-align-bottomAlinea l'etiqueta verticalment a baix amb els controls.
.-v-align-topAlinea l'etiqueta verticalment a dalt amb els controls.

Parts

PartDescripció
.controlsL'àrea de control al costat o sota l'etiqueta.
.labelL'etiqueta del camp.

Pseudoelements

PseudoelementDescripció
::afterMostra l'asterisc decoratiu de camp obligatori darrere del text de l'etiqueta quan el camp és obligatori.

Estats

EstatDescripció
:required

Tokens consumits

TokenTipusValor
--instui-component-form-field-layout-asterisk-color<color>LightDarklight-dark(#CF1F24, #FA917F)
--instui-component-form-field-layout-font-family[ <font-family-name> | <generic-font-family> ]#Atkinson Hyperlegible Next, "Helvetica Neue", Helvetica, Arial, sans-serif
--instui-component-form-field-layout-font-size<length>1rem
--instui-component-form-field-layout-font-weight<integer>400
--instui-component-form-field-layout-gap-inputs<length>0.75rem
--instui-component-form-field-layout-gap-primitives<length>0.5rem
--instui-component-form-field-layout-line-height<length>1.125rem
--instui-component-form-field-layout-readonly-text-color<color>LightDarklight-dark(#576773, #AAB0B5)
--instui-component-form-field-layout-text-color<color>LightDarklight-dark(#273540, #ffffff)

Suport del navegador

  • Conté els estils del seu element amb la regla CSS @scope at-rule; necessita una versió recent de Chromium, Firefox o Safari.

Subcomponents

Relacionat