Skip to main content
VelinStyle v1.3.0
⌂ Home
  1. Docs
  2. Forms
  3. Layout

Form Layout 1.2.2

Combine VelinStyle's grid system and utility classes to build any form layout — from stacked fields to multi-column and inline forms. Deutsch: Formular-Layout

Maturity: Form layout patterns using .velin-field + the VelinStyle grid (.velin-row / .velin-md-col-*) are stable in 1.2.0.

When to use

When not

Stacked (default)

Fields inside a <form> stack vertically by default with .velin-field spacing.

<form>
  <div class="velin-field">
    <label class="velin-label" for="name">Full name</label>
    <input type="text" class="velin-input" id="name">
  </div>
  <div class="velin-field">
    <label class="velin-label" for="email">Email</label>
    <input type="email" class="velin-input" id="email">
  </div>
  <button type="submit" class="velin-btn velin-btn--primary">Submit</button>
</form>

Grid layout

Use .velin-row and responsive .velin-md-col-* classes to create multi-column form layouts.

<form>
  <div class="velin-row velin-g-3">
    <div class="velin-md-col-6">
      <div class="velin-field">
        <label class="velin-label">First name</label>
        <input type="text" class="velin-input">
      </div>
    </div>
    <div class="velin-md-col-6">
      <div class="velin-field">
        <label class="velin-label">Last name</label>
        <input type="text" class="velin-input">
      </div>
    </div>
    <div class="velin-col-12">
      <button type="submit" class="velin-btn velin-btn--primary">Submit</button>
    </div>
  </div>
</form>

Inline form

Use flex utilities to place controls side-by-side on a single row.

<form class="velin-flex velin-flex--wrap velin-flex--gap-2 velin-flex--items-end">
  <div class="velin-field" style="flex:1;min-width:200px">
    <label class="velin-label">Email</label>
    <input type="email" class="velin-input">
  </div>
  <div class="velin-field" style="flex:1;min-width:200px">
    <label class="velin-label">Password</label>
    <input type="password" class="velin-input">
  </div>
  <button type="submit" class="velin-btn velin-btn--primary">Sign in</button>
</form>

Accessibility