Skip to content

CSS: form-field

.instui-form-field — Un contenitore per il campo del modulo: un'etichetta, i suoi controlli e layout inline, required o readonly.

Un messaggio di errore rimane nascosto finché il controllo del campo non è :user-invalid (dopo l'interazione dell'utente) o non aggiungi la classe -invalid. Usa -layout-inline per posizionare l'etichetta accanto ai controlli e -layout-stacked per posizionarla sopra. Imposta inoltre il proprio gap tra etichetta, controlli e messaggi; concatenando un modificatore di spaziatura -gap-* si sovrascrive quel valore integrato.

Source: form-field.css

Accessibilità

L'elemento <label> avvolge il controllo, quindi il testo dell'etichetta lo nomina nativamente; l'asterisco che indica il required è decorativo e dovrebbe essere nascosto alle tecnologie assistive (aria-hidden), e il messaggio di errore viene mostrato una volta che il controllo è :user-invalid o aggiungi la classe -invalid.

Uso

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

Esempi

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>

Struttura

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;

Modificatori

ModificatoreDescrizione
.-inlineLayout inline (abbreviazione per -layout-inline).
.-invalidStato non valido (errore).
.-label-align-endAllinea il testo dell'etichetta a destra.
.-label-align-startAllinea il testo dell'etichetta a sinistra.
.-layout-inlineLayout inline: etichetta accanto ai controlli.
.-layout-stackedLayout impilato: etichetta sopra i controlli.
.-readonlyStato di sola lettura.
.-v-align-bottomAllinea l'etichetta in basso rispetto ai controlli.
.-v-align-topAllinea l'etichetta in alto rispetto ai controlli.

Parti

ParteDescrizione
.controlsL'area dei controlli accanto o sotto l'etichetta.
.labelL'etichetta del campo.

Pseudo-elementi

Pseudo-elementoDescrizione
::afterRenderizza l'asterisco decorativo che indica il campo obbligatorio dopo il testo dell'etichetta quando il campo è required.

Stati

StatoDescrizione
:required

Token consumati

TokenTipoValore
--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)

Supporto browser

  • Contiene gli stili dell'elemento con la direttiva CSS @scope; richiede una versione recente di Chromium, Firefox o Safari.

Sottocomponenti

Correlati