bootstrap3.0教程之表单(form)使⽤详解
本⽂主要讲解的是表单,这个其实对于做过⽹站的⼈来说,并不陌⽣,⽽且可以说是最为常⽤的提交数据的Form表单。本⽂主要来讲解⼀下内容:
1.基本案例
2.内联表单
3.⽔平排列的表单
4.被⽀持的控件
5.静态控件
6.控件状态
7.控件尺⼨
8.帮助⽂本
9.总结
基本案例
单独的表单控件会被⾃动赋予⼀些全局样式。所有设置了.form-control的<input>、<textarea>和<select>元素都将被默认设置为width: 100%;。将label和前⾯提到的这些控件包裹在.form-group中可以获得最好的排列。
复制代码
代码如下:
<form role="form">
<div class="form-group">
<label for="exampleInputEmail1">Email address</label>
<input type="email" class="form-control" id="exampleInputEmail1" placeholder="Enter email">
</div>
<div class="form-group">
<label for="exampleInputPassword1">Password</label>
<input type="password" class="form-control" id="exampleInputPassword1" placeholder="Password">
</div>
<div class="form-group">
<label for="exampleInputFile">File input</label>
<input type="file" id="exampleInputFile">
<p class="help-block">Example block-level help text here.</p>
</div>
<div class="checkbox">
<label>
<input type="checkbox"> Check me out
</label>
</div>
<button type="submit" class="btn btn-default">Submit</button>
</form>
两个⽂本框的宽度的确为100%。并且有三个form-group。
内联表单
为左对齐和inline-block级别的控件设置.form-inline,可以将其排布的更紧凑。
需要设置宽度:在Bootstrap中,input、select和textarea默认被设置为100%宽度。为了使⽤内联表单,你需要专门为使⽤到的表单控件设置宽度。
⼀定要设置label:如果你没有为每个输⼊控件设置label,屏幕阅读器将⽆法正确识读。对于这些内联表单,你可以通过为label设置.sr-only已将其隐藏。
复制代码
代码如下:
<form class="form-inline" role="form">
<div class="form-group">
<label class="sr-only" for="exampleInputEmail2">Email address</label>
<input type="email" class="form-control" id="exampleInputEmail2" placeholder="Enter email">
</div>
<div class="form-group">
<label class="sr-only" for="exampleInputPassword2">Password</label>
<input type="password" class="form-control" id="exampleInputPassword2" placeholder="Password">
</div>
<div class="checkbox">
<label>
<input type="checkbox"> Remember me
</label>
</div>
<button type="submit" class="btn btn-default">Sign in</button>
</form>
⽔平排列的表单
通过为表单添加.form-horizontal,并使⽤Bootstrap预置的栅格class可以将label和控件组⽔平并排布局。这样做将改变.form-group的⾏为,使其表现为栅格系统中的⾏(row),因此就⽆需再使⽤.row了。
复制代码
代码如下:
<form class="form-horizontal" role="form">
<div class="form-group">
<label for="inputEmail3" class="col-sm-2 control-label">Email</label>
<div class="col-sm-10">
<input type="email" class="form-control" id="inputEmail3" placeholder="Email">
</div>
</div>
<div class="form-group">
<label for="inputPassword3" class="col-sm-2 control-label">Password</label>
<div class="col-sm-10">
<input type="password" class="form-control" id="inputPassword3" placeholder="Password">
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<div class="checkbox">
<label>
<input type="checkbox"> Remember me
</label>
</div>
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button type="submit" class="btn btn-default">Sign in</button>
</div>
</div>
</form>
被⽀持的控件
在表单布局案例中展⽰了其所⽀持的标准表单控件。
Input
⼤部分表单控件、⽂本输⼊域控件。包括HTML5⽀持的所有类型:text、password、datetime、datetime-local、date、month、time、week、number、email、url、search、tel和color。
注意:有正确设置了type的input控件才能被赋予正确的样式。
⽂本框⽰例
复制代码
代码如下:
<input type="text" class="form-control" placeholder="Text input">
Textarea
⽀持多⾏⽂本的表单控件。可根据需要改变rows属性。
复制代码
代码如下:
<h1>textarea</h1>
<textarea class="form-control" rows="3"></textarea>
Checkbox 和 radio
Checkbox⽤于选择列表中的⼀个或多个选项,⽽radio⽤于从多个选项中只选择⼀个。
默认外观(堆叠在⼀起)
复制代码
代码如下:
<div class="checkbox">
<label>
<input type="checkbox" value="">
Option one is this and that—be sure to include why it's great
</label>
</div></p> <p><div class="radio">
<label>
<input type="radio" name="optionsRadios" id="optionsRadios1" value="option1" checked>
Option one is this and that—be sure to include why it's great
</label>
</div>
<div class="radio">
<label>
<input type="radio" name="optionsRadios" id="optionsRadios2" value="option2">
Option two can be something else and selecting it will deselect option one
</label>
</div>
Inline checkboxes
通过将.checkbox-inline 或 .radio-inline应⽤到⼀系列的checkbox或radio控件上,可以使这些控件排列在⼀⾏。
复制代码
代码如下:
<label class="checkbox-inline">
<input type="checkbox" id="inlineCheckbox1" value="option1"> 1
</label>
<label class="checkbox-inline">
<input type="checkbox" id="inlineCheckbox2" value="option2"> 2
</label>
<label class="checkbox-inline">
<input type="checkbox" id="inlineCheckbox3" value="option3"> 3
</label>
同理Radio是⼀样的,只需要添加⼀下样式即可。
Select
复制代码
代码如下:
<select class="form-control">
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
</select></p> <p><select multiple class="form-control">
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
</select>
静态控件
在⽔平布局的表单中,如果需要将⼀⾏纯⽂本放置于label的同⼀⾏,为<p>元素添加.form-control-static即可。
复制代码
代码如下:
<form class="form-horizontal" role="form">
<div class="form-group">
<label class="col-sm-2 control-label">Email</label>
<div class="col-sm-10">
<p class="form-control-static">email@examtryrtyrple</p>
</div>为什么使用bootstrap?
</div>
<div class="form-group">
<label for="inputPassword" class="col-sm-2 control-label">Password</label>
<div class="col-sm-10">
<input type="password" class="form-control" id="inputPassword" placeholder="Password">
</div>
</div>
</form>
控件状态
通过为控件和label设置⼀些基本状态,可以为⽤户提供回馈。
输⼊焦点
我们移除了某些表单控件的默认outline样式,并对其:focus状态赋予了box-shadow样式。
复制代码
代码如下:
<input class="form-control" id="focusedInput" type="text" value="This ">
被禁⽤的输⼊框
为输⼊框设置disabled属性可以防⽌⽤户输⼊,并能改变⼀点外观,使其更直观。
复制代码
代码如下:
<input class="form-control" id="disabledInput" type="text" placeholder="Disabled " disabled>
被禁⽤的fieldset
为<fieldset>设置disabled属性可以禁⽤<fieldset>中包含的所有控件。
<a>标签的链接功能不受影响
这个class只改变<a class="btn btn-default">按钮的外观,并不能禁⽤其功能。建议⾃⼰通过JavaScript代码禁⽤链接功能。
跨浏览器兼容性
虽然Bootstrap会将这些样式应⽤到所有浏览器上,Internet Explorer 9及以下浏览器中的<fieldset>并
不⽀持disabled属性。因此建议在这些浏览器上通过JavaScript代码来禁⽤fieldset
复制代码
代码如下:
<form role="form">
<fieldset disabled>
<div class="form-group">
<label for="disabledTextInput">Disabled input</label>
<input type="text" id="disabledTextInput" class="form-control" placeholder="Disabled input">
</div>
<div class="form-group">
<label for="disabledSelect">Disabled select menu</label>
<select id="disabledSelect" class="form-control">
<option>Disabled select</option>
</select>
</div>
<div class="checkbox">
<label>
<input type="checkbox"> Can't check this
</label>
</div>
<button type="submit" class="btn btn-primary">Submit</button>

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。