Gean nei haadynhâld Gean nei dokumintnavigaasje
in English

Opmaak

Jou jo formulieren wat struktuer - fan ynline oant horizontale oant oanpaste rasterimplementaasjes - mei ús opsjes foar formulierlayout.

Formulieren

Elke groep formulierfjilden moat yn in <form>elemint wenje. Bootstrap jout gjin standert styling foar it <form>elemint, mar d'r binne wat krêftige browserfunksjes dy't standert wurde levere.

  • Nij by browserformulieren? Tink derom om de MDN-formulierdokuminten te besjen foar in oersjoch en folsleine list mei beskikbere attributen.
  • <button>s binnen in <form>standert oan type="submit", stribje dus nei spesifyk te wêzen en befetsje altyd in type.
  • Jo kinne elk formulierelemint yn in formulier útskeakelje mei it disabledattribút op 'e <form>.

Sûnt Bootstrap jildt display: blocken width: 100%foar hast al ús formulierkontrôles, sille formulieren standert fertikaal steapele wurde. Oanfoljende klassen kinne brûkt wurde om dizze yndieling per formulier te feroarjen.

Utilities

Marge-nutsbedriuwen binne de maklikste manier om wat struktuer ta te foegjen oan formulieren. Se leverje basisgroepearring fan labels, kontrôles, opsjonele formuliertekst, en formuliervalidaasjeberjochten. Wy riede oan te hâlden oan margin-bottomnutsbedriuwen, en in inkele rjochting yn 'e hiele foarm te brûken foar konsistinsje.

Fiel jo frij om jo formulieren te bouwen lykas jo wolle, mei <fieldset>s, <div>s, of hast elk oar elemint.

<div class="mb-3">
  <label for="formGroupExampleInput" class="form-label">Example label</label>
  <input type="text" class="form-control" id="formGroupExampleInput" placeholder="Example input placeholder">
</div>
<div class="mb-3">
  <label for="formGroupExampleInput2" class="form-label">Another label</label>
  <input type="text" class="form-control" id="formGroupExampleInput2" placeholder="Another input placeholder">
</div>

Raster foarmje

Mear komplekse foarmen kinne wurde boud mei ús rasterklassen. Brûk dizze foar formulierlayouts dy't meardere kolommen, farieare breedtes en ekstra ôfstimmingsopsjes nedich binne. Fereasket dat de $enable-grid-classesSass-fariabele ynskeakele is (standert oan).

<div class="row">
  <div class="col">
    <input type="text" class="form-control" placeholder="First name" aria-label="First name">
  </div>
  <div class="col">
    <input type="text" class="form-control" placeholder="Last name" aria-label="Last name">
  </div>
</div>

Gutters

Troch it tafoegjen fan gootmodifierklassen kinne jo kontrôle hawwe oer de gootbreedte yn sawol de ynline as blokrjochting. Fereasket ek dat de $enable-grid-classesSass-fariabele ynskeakele is (standert oan).

<div class="row g-3">
  <div class="col">
    <input type="text" class="form-control" placeholder="First name" aria-label="First name">
  </div>
  <div class="col">
    <input type="text" class="form-control" placeholder="Last name" aria-label="Last name">
  </div>
</div>

Mear komplekse yndielingen kinne ek makke wurde mei it rastersysteem.

<form class="row g-3">
  <div class="col-md-6">
    <label for="inputEmail4" class="form-label">Email</label>
    <input type="email" class="form-control" id="inputEmail4">
  </div>
  <div class="col-md-6">
    <label for="inputPassword4" class="form-label">Password</label>
    <input type="password" class="form-control" id="inputPassword4">
  </div>
  <div class="col-12">
    <label for="inputAddress" class="form-label">Address</label>
    <input type="text" class="form-control" id="inputAddress" placeholder="1234 Main St">
  </div>
  <div class="col-12">
    <label for="inputAddress2" class="form-label">Address 2</label>
    <input type="text" class="form-control" id="inputAddress2" placeholder="Apartment, studio, or floor">
  </div>
  <div class="col-md-6">
    <label for="inputCity" class="form-label">City</label>
    <input type="text" class="form-control" id="inputCity">
  </div>
  <div class="col-md-4">
    <label for="inputState" class="form-label">State</label>
    <select id="inputState" class="form-select">
      <option selected>Choose...</option>
      <option>...</option>
    </select>
  </div>
  <div class="col-md-2">
    <label for="inputZip" class="form-label">Zip</label>
    <input type="text" class="form-control" id="inputZip">
  </div>
  <div class="col-12">
    <div class="form-check">
      <input class="form-check-input" type="checkbox" id="gridCheck">
      <label class="form-check-label" for="gridCheck">
        Check me out
      </label>
    </div>
  </div>
  <div class="col-12">
    <button type="submit" class="btn btn-primary">Sign in</button>
  </div>
</form>

Horizontale foarm

Meitsje horizontale formulieren mei it raster troch de .rowklasse ta te foegjen om groepen te foarmjen en de .col-*-*klassen te brûken om de breedte fan jo labels en kontrôles op te jaan. Wês wis dat jo ek tafoegje .col-form-labeloan jo <label>s, sadat se fertikaal sintraal binne mei har assosjearre formulierkontrôles.

Soms moatte jo miskien marzje- of padding-hulpprogramma's brûke om dy perfekte ôfstimming te meitsjen dy't jo nedich binne. Wy hawwe bygelyks it padding-toplabel op ús opsteapele radio-ynputen fuortsmiten om de tekstbasisline better op te rjochtsjen.

Radios
<form>
  <div class="row mb-3">
    <label for="inputEmail3" class="col-sm-2 col-form-label">Email</label>
    <div class="col-sm-10">
      <input type="email" class="form-control" id="inputEmail3">
    </div>
  </div>
  <div class="row mb-3">
    <label for="inputPassword3" class="col-sm-2 col-form-label">Password</label>
    <div class="col-sm-10">
      <input type="password" class="form-control" id="inputPassword3">
    </div>
  </div>
  <fieldset class="row mb-3">
    <legend class="col-form-label col-sm-2 pt-0">Radios</legend>
    <div class="col-sm-10">
      <div class="form-check">
        <input class="form-check-input" type="radio" name="gridRadios" id="gridRadios1" value="option1" checked>
        <label class="form-check-label" for="gridRadios1">
          First radio
        </label>
      </div>
      <div class="form-check">
        <input class="form-check-input" type="radio" name="gridRadios" id="gridRadios2" value="option2">
        <label class="form-check-label" for="gridRadios2">
          Second radio
        </label>
      </div>
      <div class="form-check disabled">
        <input class="form-check-input" type="radio" name="gridRadios" id="gridRadios3" value="option3" disabled>
        <label class="form-check-label" for="gridRadios3">
          Third disabled radio
        </label>
      </div>
    </div>
  </fieldset>
  <div class="row mb-3">
    <div class="col-sm-10 offset-sm-2">
      <div class="form-check">
        <input class="form-check-input" type="checkbox" id="gridCheck1">
        <label class="form-check-label" for="gridCheck1">
          Example checkbox
        </label>
      </div>
    </div>
  </div>
  <button type="submit" class="btn btn-primary">Sign in</button>
</form>

Horizontale foarm label sizing

Wês wis dat jo .col-form-label-smof .col-form-label-lgnei jo <label>s of <legend>s brûke om de grutte fan .form-control-lgen korrekt te folgjen .form-control-sm.

<div class="row mb-3">
  <label for="colFormLabelSm" class="col-sm-2 col-form-label col-form-label-sm">Email</label>
  <div class="col-sm-10">
    <input type="email" class="form-control form-control-sm" id="colFormLabelSm" placeholder="col-form-label-sm">
  </div>
</div>
<div class="row mb-3">
  <label for="colFormLabel" class="col-sm-2 col-form-label">Email</label>
  <div class="col-sm-10">
    <input type="email" class="form-control" id="colFormLabel" placeholder="col-form-label">
  </div>
</div>
<div class="row">
  <label for="colFormLabelLg" class="col-sm-2 col-form-label col-form-label-lg">Email</label>
  <div class="col-sm-10">
    <input type="email" class="form-control form-control-lg" id="colFormLabelLg" placeholder="col-form-label-lg">
  </div>
</div>

Kolom grutte

Lykas yn 'e foargeande foarbylden sjen litten, lit ús rastersysteem jo elk oantal .cols binnen in pleatse .row. Se sille de beskikbere breedte gelyk tusken har splitse. Jo kinne ek in subset fan jo kolommen kieze om mear of minder romte yn te nimmen, wylst de oerbleaune .cols de rest lykweardich splitst, mei spesifike kolomklassen lykas .col-sm-7.

<div class="row g-3">
  <div class="col-sm-7">
    <input type="text" class="form-control" placeholder="City" aria-label="City">
  </div>
  <div class="col-sm">
    <input type="text" class="form-control" placeholder="State" aria-label="State">
  </div>
  <div class="col-sm">
    <input type="text" class="form-control" placeholder="Zip" aria-label="Zip">
  </div>
</div>

Auto-sizing

It foarbyld hjirûnder brûkt in flexbox-helpmiddel om de ynhâld fertikaal te centreren en te feroarjen .colsadat .col-autojo kolommen allinich safolle romte ynnimme as nedich. Mei oare wurden, de kolom grutte sels basearre op de ynhâld.

@
<form class="row gy-2 gx-3 align-items-center">
  <div class="col-auto">
    <label class="visually-hidden" for="autoSizingInput">Name</label>
    <input type="text" class="form-control" id="autoSizingInput" placeholder="Jane Doe">
  </div>
  <div class="col-auto">
    <label class="visually-hidden" for="autoSizingInputGroup">Username</label>
    <div class="input-group">
      <div class="input-group-text">@</div>
      <input type="text" class="form-control" id="autoSizingInputGroup" placeholder="Username">
    </div>
  </div>
  <div class="col-auto">
    <label class="visually-hidden" for="autoSizingSelect">Preference</label>
    <select class="form-select" id="autoSizingSelect">
      <option selected>Choose...</option>
      <option value="1">One</option>
      <option value="2">Two</option>
      <option value="3">Three</option>
    </select>
  </div>
  <div class="col-auto">
    <div class="form-check">
      <input class="form-check-input" type="checkbox" id="autoSizingCheck">
      <label class="form-check-label" for="autoSizingCheck">
        Remember me
      </label>
    </div>
  </div>
  <div class="col-auto">
    <button type="submit" class="btn btn-primary">Submit</button>
  </div>
</form>

Jo kinne dat dan nochris remixe mei grutte-spesifike kolomklassen.

@
<form class="row gx-3 gy-2 align-items-center">
  <div class="col-sm-3">
    <label class="visually-hidden" for="specificSizeInputName">Name</label>
    <input type="text" class="form-control" id="specificSizeInputName" placeholder="Jane Doe">
  </div>
  <div class="col-sm-3">
    <label class="visually-hidden" for="specificSizeInputGroupUsername">Username</label>
    <div class="input-group">
      <div class="input-group-text">@</div>
      <input type="text" class="form-control" id="specificSizeInputGroupUsername" placeholder="Username">
    </div>
  </div>
  <div class="col-sm-3">
    <label class="visually-hidden" for="specificSizeSelect">Preference</label>
    <select class="form-select" id="specificSizeSelect">
      <option selected>Choose...</option>
      <option value="1">One</option>
      <option value="2">Two</option>
      <option value="3">Three</option>
    </select>
  </div>
  <div class="col-auto">
    <div class="form-check">
      <input class="form-check-input" type="checkbox" id="autoSizingCheck2">
      <label class="form-check-label" for="autoSizingCheck2">
        Remember me
      </label>
    </div>
  </div>
  <div class="col-auto">
    <button type="submit" class="btn btn-primary">Submit</button>
  </div>
</form>

Inline formulieren

Brûk de .row-cols-*klassen om responsive horizontale layouts te meitsjen. Troch it tafoegjen fan klassen foar modifikaasje fan gutter , sille wy goten hawwe yn horizontale en fertikale rjochtingen. Op smelle mobile viewports .col-12helpt de formulierkontrôles en mear te stapeljen. It .align-items-centerrjochtet de foarmeleminten nei it midden, wêrtroch't de .form-checkboxrjochting goed is.

@
<form class="row row-cols-lg-auto g-3 align-items-center">
  <div class="col-12">
    <label class="visually-hidden" for="inlineFormInputGroupUsername">Username</label>
    <div class="input-group">
      <div class="input-group-text">@</div>
      <input type="text" class="form-control" id="inlineFormInputGroupUsername" placeholder="Username">
    </div>
  </div>

  <div class="col-12">
    <label class="visually-hidden" for="inlineFormSelectPref">Preference</label>
    <select class="form-select" id="inlineFormSelectPref">
      <option selected>Choose...</option>
      <option value="1">One</option>
      <option value="2">Two</option>
      <option value="3">Three</option>
    </select>
  </div>

  <div class="col-12">
    <div class="form-check">
      <input class="form-check-input" type="checkbox" id="inlineFormCheck">
      <label class="form-check-label" for="inlineFormCheck">
        Remember me
      </label>
    </div>
  </div>

  <div class="col-12">
    <button type="submit" class="btn btn-primary">Submit</button>
  </div>
</form>