Bootstrap5 表单学习笔记

Bootstrap 是一款流行的前端框架,提供了丰富的组件和工具,可以帮助我们快速构建出美观、响应式的网页。表单是网页中常用的组件之一,本文将介绍 Bootstrap5 中表单组件的使用。

基本表单

Bootstrap 提供了多种类型的基本表单组件,如文本框、下拉框、单选框、复选框等。下面是一个基本的表单示例:

htmlCopy Code
<form> <div class="mb-3"> <label for="exampleInputName" class="form-label">姓名</label> <input type="text" class="form-control" id="exampleInputName" placeholder="请输入姓名"> </div> <div class="mb-3"> <label for="exampleInputEmail1" class="form-label">邮箱地址</label> <input type="email" class="form-control" id="exampleInputEmail1" placeholder="请输入邮箱地址"> <div id="emailHelp" class="form-text">我们不会分享你的邮箱地址。</div> </div> <div class="mb-3"> <label for="exampleInputPassword1" class="form-label">密码</label> <input type="password" class="form-control" id="exampleInputPassword1" placeholder="请输入密码"> </div> <div class="mb-3 form-check"> <input type="checkbox" class="form-check-input" id="exampleCheck1"> <label class="form-check-label" for="exampleCheck1">记住我</label> </div> <button type="submit" class="btn btn-primary">提交</button> </form>

其中,form 元素包裹整个表单,div 元素用于分组表单控件,label 元素为控件添加标签,input 元素为基本控件,form-control 类用于增加控件样式,form-text 类用于添加辅助文本。最后的 button 元素为提交按钮。

内联表单

Bootstrap 也提供了内联表单的支持,可以使表单排列在同一行,适用于小型表单的场景。下面是一个内联表单的示例:

htmlCopy Code
<form class="form-inline"> <div class="mb-2 mr-sm-2 mb-sm-0"> <label for="inlineFormInputName2" class="sr-only">姓名</label> <input type="text" class="form-control" id="inlineFormInputName2" placeholder="请输入姓名"> </div> <div class="mb-2 mr-sm-2 mb-sm-0"> <label for="inlineFormInputGroupUsername2" class="sr-only">用户名</label> <div class="input-group"> <div class="input-group-prepend"> <div class="input-group-text">@</div> </div> <input type="text" class="form-control" id="inlineFormInputGroupUsername2" placeholder="请输入用户名"> </div> </div> <div class="form-check mb-2 mr-sm-2 mb-sm-0"> <input class="form-check-input" type="checkbox" id="inlineFormCheck"> <label class="form-check-label" for="inlineFormCheck">记住我</label> </div> <button type="submit" class="btn btn-primary">提交</button> </form>

其中,form-inline 类用于设置内联表单样式,input-group 类用于将两个控件组合在一起,input-group-prependinput-group-text 类用于添加文本和图标。

横排表单

Bootstrap 还提供了横排表单的支持,可以使表单排列在一行内,适用于大型表单的场景。下面是一个横排表单的示例:

htmlCopy Code
<form> <div class="form-row"> <div class="col-md-4 mb-3"> <label for="validationServer01">姓名</label> <input type="text" class="form-control is-valid" id="validationServer01" placeholder="请输入姓名" required> <div class="valid-feedback"> 非常好! </div> </div> <div class="col-md-4 mb-3"> <label for="validationServer02">城市</label> <input type="text" class="form-control is-valid" id="validationServer02" placeholder="请输入城市" required> <div class="valid-feedback"> 非常好! </div> </div> <div class="col-md-4 mb-3"> <label for="validationServerUsername">用户名</label> <div class="input-group"> <div class="input-group-prepend"> <span class="input-group-text" id="inputGroupPrepend3">@</span> </div> <input type="text" class="form-control is-invalid" id="validationServerUsername" placeholder="请输入用户名" aria-describedby="inputGroupPrepend3" required> <div class="invalid-feedback"> 请填写一个唯一的用户名。 </div> </div> </div> </div> <div class="form-row"> <div class="col-md-6 mb-3"> <label for="validationServer03">城市</label> <input type="text" class="form-control is-invalid" id="validationServer03" placeholder="请输入城市" required> <div class="invalid-feedback"> 请提供一个有效的城市。 </div> </div> <div class="col-md-3 mb-3"> <label for="validationServer04">州/省</label> <input type="text" class="form-control is-invalid" id="validationServer04" placeholder="请输入州/省" required> <div class="invalid-feedback"> 请提供一个有效的州/省。 </div> </div> <div class="col-md-3 mb-3"> <label for="validationServer05">邮编</label> <input type="text" class="form-control is-invalid" id="validationServer05" placeholder="请输入邮编" required> <div class="invalid-feedback"> 请提供一个有效的邮编。 </div> </div> </div> <button class="btn btn-primary" type="submit">提交表单</button> </form>

其中,form-rowcol-* 类用于设置横排表单的样式,is-validis-invalid 类用于设置控件的验证状态,valid-feedbackinvalid-feedback 类用于设置验证反馈信息。

Bootstrap 提供了丰富的表单组件和样式,可以帮助我们轻松快速地构建出符合需求的表单。