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>