Skip to content

CSS: form-field

.instui-form-field — Ein Formularfeld-Wrapper: ein Label, seine Steuerungselemente sowie Inline-, Pflichtfeld- oder Nur-Lese-Layouts.

Eine Fehlermeldung bleibt verborgen, bis die Steuerung des Feldes :user-invalid ist (nach der Interaktion des Benutzers) oder Sie die Klasse -invalid hinzufügen. Verwenden Sie -layout-inline um das Label neben die Steuerungselemente zu setzen und -layout-stacked um es darüber zu platzieren. Außerdem legt es seinen eigenen gap zwischen Label, Steuerungselementen und Meldungen fest; das Hintereinanderschalten eines -gap-* Abstands-Utility-Modifiers überschreibt diesen eingebauten Wert.

Source: form-field.css

Barrierefreiheit

Das <label>-Element umschließt die Steuerung, sodass der Labeltext sie nativ benennt; der Pflichtstern ist dekorativ und sollte für unterstützende Technologien verborgen werden (aria-hidden), und die Fehlermeldung erscheint, sobald die Steuerung :user-invalid ist oder Sie die Klasse -invalid hinzufügen.

Verwendung

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

Beispiele

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>

Struktur

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;

Modifikatoren

ModifikatorBeschreibung
.-inlineInline-Layout (Kurzform für -layout-inline).
.-invalidUngültiger (Fehler-)Zustand.
.-label-align-endLabeltext am Ende ausrichten.
.-label-align-startLabeltext am Anfang ausrichten.
.-layout-inlineInline-Layout: Label neben den Steuerungselementen.
.-layout-stackedGestapeltes Layout: Label über den Steuerungselementen.
.-readonlyNur-Lese-Zustand.
.-v-align-bottomLabel unten bündig mit den Steuerungselementen ausrichten.
.-v-align-topLabel oben bündig mit den Steuerungselementen ausrichten.

Teile

TeilBeschreibung
.controlsDer Steuerungsbereich neben oder unter dem Label.
.labelDas Feld-Label.

Pseudo-Elemente

Pseudo-ElementBeschreibung
::afterGibt das dekorative Pflichtfeld-Asterisk nach dem Labeltext wieder, wenn das Feld erforderlich ist.

Zustände

ZustandBeschreibung
:required

Verbrauchte Tokens

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

Browser-Unterstützung

  • Enthält seine Elementstile mit der CSS @scope At‑Rule; erfordert einen aktuellen Chromium‑, Firefox‑ oder Safari‑Browser.

Unterkomponenten

Verwandt