Skip to content

CSS: form-field-group

.instui-form-field-group — Un gruppo <fieldset> con una legenda, un layout a colonna o inline, e spaziatura configurabile.

Imposta il proprio gap tra i campi, regolabile con i modificatori -col-spacing-*/-row-spacing-* qui sotto — preferire questi rispetto a concatenare un generico modificatore di utilità di spaziatura -gap-*, che sovrascrive completamente il valore integrato.

Source: form-field-group.css

Accessibilità

Rendererizza un <fieldset> nativo con una <legend>, così il testo della legenda denomina l'intero gruppo per le tecnologie assistive.

Uso

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

Esempi

html
<fieldset class="instui-form-field-group -layout-columns -col-spacing-medium">
  <legend>Shipping address</legend>
  <label class="instui-form-field">
    <span class="label">First name</span>
    <span class="controls"><input class="instui-text-input"></span>
  </label>
  <label class="instui-form-field">
    <span class="label">Last name</span>
    <span class="controls"><input class="instui-text-input"></span>
  </label>
  <label class="instui-form-field">
    <span class="label">City</span>
    <span class="controls"><input class="instui-text-input"></span>
  </label>
  <label class="instui-form-field">
    <span class="label">State</span>
    <span class="controls">
      <select class="instui-simple-select">
        <option>CA</option>
        <option>NY</option>
        <option>TX</option>
      </select>
    </span>
  </label>
  <div class="instui-form-field-messages">
    <span class="instui-form-field-message -type-hint">All fields are used for delivery only.</span>
  </div>
</fieldset>

Struttura

text
.instui-form-field-group.-layout-columns.-col-spacing-medium
  legend
  form-field (component)
  form-field-messages (component)
flowchart TD n0[".instui-form-field-group.-layout-columns.-col-spacing-medium"]:::cssdoc-root n1("legend"):::cssdoc-part n2(["form-field"]):::cssdoc-component n3(["form-field-messages"]):::cssdoc-component n0 --> n1 n0 --> n2 n0 --> n3 click n2 "/api/css/form-field.md" click n3 "/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
.-col-spacing-largeAmpio gap di colonna.
.-col-spacing-mediumGap di colonna medio.
.-col-spacing-noneNessun gap di colonna.
.-col-spacing-smallPiccolo gap di colonna.
.-layout-alignedAllinea i campi figli a una griglia condivisa.
.-layout-columnsDisponi i campi figli in colonne.
.-layout-inlineDisponi i campi figli inline, in una riga.
.-requiredSegna il gruppo come obbligatorio.
.-row-spacing-largeAmpio gap di riga.
.-row-spacing-mediumGap di riga medio.
.-row-spacing-noneNessun gap di riga.
.-row-spacing-smallPiccolo gap di riga.
.-v-align-bottomAllinea i campi inferiormente.
.-v-align-middleAllinea i campi al centro (verticalmente).
.-v-align-topAllinea i campi superiormente.

Pseudo-elementi

Pseudo-elementoDescrizione
::afterRendererizza l'asterisco decorativo per i campi obbligatori dopo il testo della legenda quando il gruppo è obbligatorio.

Condizioni

TipoQueryDescrizione
supports(grid-template-columns: subgrid)

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-text-color<color>LightDarklight-dark(#273540, #ffffff)
--instui-spacing-space-lg<length>1rem
--instui-spacing-space-md<length>0.75rem
--instui-spacing-space-sm<length>0.5rem

Supporto browser

  • La modalità -layout-aligned usa la subgrid CSS dietro una guardia @supports; dove la subgrid non è supportata, i campi ricadono nel proprio layout impilato.

Sottocomponenti

Correlati