Use custom form layout styles that can be added to element like cards, modals, sidebars or any other elements. Additional utilities classes can be used to vary this layout.
A form with a label on top of each form control.
<form>
<div class="form-group">
<label for="formGroupExampleInput" class="d-block">Firstname</label>
<input type="text" class="form-control" placeholder="Enter your firstname">
</div>
<div class="form-group">
<label for="formGroupExampleInput2" class="d-block">Lastname</label>
<input type="text" class="form-control" placeholder="Enter your lastname">
</div>
<button class="btn btn-primary" type="submit">Submit</button>
<button class="btn btn-secondary" type="cancel">Cancel</button>
</form>
Group related elements in a form with a legend.
<fieldset class="form-fieldset">
<legend>Personal Information</legend>
<div class="form-group">
<label class="d-block">Firstname</label>
<input type="text" class="form-control" placeholder="Enter your firstname">
</div>
<div class="form-group">
<label class="d-block">Lastname</label>
<input type="text" class="form-control" placeholder="Enter your lastname">
</div>
</fieldset>
More complex forms can be built using our grid classes. Use these for form layouts that require multiple columns, varied widths, and additional alignment options.
<form>
<div class="form-row">
<div class="form-group col-md-6">
<label for="inputEmail4">Email</label>
<input type="email" class="form-control" id="inputEmail4" placeholder="Email">
</div>
<div class="form-group col-md-6">
<label for="inputPassword4">Password</label>
<input type="password" class="form-control" id="inputPassword4" placeholder="Password">
</div>
</div>
<div class="form-group">
<label for="inputAddress">Address</label>
<input type="text" class="form-control" id="inputAddress" placeholder="1234 Main St">
</div>
<div class="form-group">
<label for="inputAddress2">Address 2</label>
<input type="text" class="form-control" id="inputAddress2" placeholder="Apartment, studio, or floor">
</div>
<div class="form-row">
<div class="form-group col-md-5">
<label>Birthday</label>
<select class="custom-select">
...
</select>
</div>
<div class="form-group col-md-3 d-flex align-items-end">
<select class="custom-select">
...
</select>
</div>
<div class="form-group col-md-4 d-flex align-items-end">
<select class="custom-select">
...
</select>
</div>
</div>
<div class="form-group">
<div class="custom-control custom-checkbox">
<input type="checkbox" class="custom-control-input" id="customCheck1">
<label class="custom-control-label" for="customCheck1">Agree with Terms of Use and Privacy Policy</label>
</div>
</div>
<button type="submit" class="btn btn-primary">Submit Form</button>
</form>
Create horizontal forms with the grid by adding the .row
class to form groups and using the .col
classes to specify the width of your labels and controls.
<form>
<div class="form-group row">
<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" placeholder="Email">
</div>
</div>
<div class="form-group row">
<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" placeholder="Password">
</div>
</div>
<div class="form-group row">
<label class="col-form-label col-sm-2 pt-0">Radios</label>
<div class="col-sm-10">
<div class="custom-control custom-radio">
<input type="radio" name="customRadio" class="custom-control-input" checked>
<label class="custom-control-label">First radio</label>
</div>
<div class="custom-control custom-radio">
<input type="radio" name="customRadio" class="custom-control-input">
<label class="custom-control-label">Second radio</label>
</div>
<div class="custom-control custom-radio">
<input type="radio" name="customRadio" class="custom-control-input" disabled>
<label class="custom-control-label">Third disabled radio</label>
</div>
</div>
</div>
<div class="form-group row">
<div class="col-sm-2">Checkbox</div>
<div class="col-sm-10">
<div class="custom-control custom-checkbox">
<input type="checkbox" class="custom-control-input">
<label class="custom-control-label">Example checkbox</label>
</div>
</div>
</div>
<div class="form-group row mg-b-0">
<div class="col-sm-10">
<button type="submit" class="btn btn-primary">Submit Form</button>
</div>
</div>
</form>
Use flex utilities classes on form containers to change the alignment of forms on the main axis.
<div class="d-flex align-items-center justify-content-center pd-y-40 bg-gray-100">
<form class="wd-300 bd bd-gray-300 rounded pd-30 bg-white">
<div class="form-group">
<input type="email" class="form-control" placeholder="Enter your email">
</div>
<div class="form-group">
<input type="password" class="form-control" placeholder="Enter your password">
</div>
<button type="submit" class="btn btn-primary btn-block">Submit Form</button>
</form>
</div>