本章将讲解 Bootstrap 支持的另一个特性,输入框组。输入框组扩展自 表单控件。使用输入框组,您可以很容易地向基于文本的输入框添加作为前缀和后缀的文本或按钮。
通过向输入域添加前缀和后缀的内容,您可以向用户输入添加公共的元素。例如,您可以添加美元符号,或者在 Twitter 用户名前添加 @,或者应用程序接口所需要的其他公共的元素。
向 <b>.form-control</b> 添加前缀或后缀元素的步骤如下:
把前缀或后缀元素放在一个带有 class <b>.input-group</b> 的 <div> 中。
接着,在相同的 <div> 内,在 class 为 <b>.input-group-addon</b> 的 <span> 内放置额外的内容。
把该 <span> 放置在 <input> 元素的前面或者后面。
为了保持跨浏览器的兼容性,请避免使用 <select> 元素,因为它们在 WebKit 浏览器中不能完全渲染出效果。也不要直接向表单组应用输入框组的 class,输入框组是一个孤立的组件。
下面的实例演示了基本的输入框组:
<div style="padding: 100px 100px 10px;">
<form class="bs-example bs-example-form" role="form">
<div class="input-group">
<span class="input-group-addon">@</span>
<input type="text" class="form-control" placeholder="twitterhandle">
</div>
<br>
<input type="text" class="form-control">
<span class="input-group-addon">.00</span>
<span class="input-group-addon">$</span>
</form>
结果如下所示:
您可以通过向 <b>.input-group</b> 添加相对表单大小的 class(比如 <b>.input-group-lg、input-group-sm</b>)来改变输入框组的大小。输入框中的内容会自动调整大小。
下面的实例演示了这点:
<div class="input-group input-group-lg">
<input type="text" class="form-control" placeholder="Twitterhandle">
<div class="input-group input-group-sm">
您可以把复选框和单选插件作为输入框组的前缀或者后缀元素,如下面的实例所示:
<div class="row">
<div class="col-lg-6">
<span class="input-group-addon">
<input type="checkbox"></span>
</div><!-- /input-group -->
</div><!-- /.col-lg-6 -->
<input type="radio"></span>
</div><!-- /.row -->
您也可以把按钮作为输入框组的前缀或者后缀元素,这个时候您就不是添加 <b>.input-group-addon</b> class,您需要使用 class <b>.input-group-btn</b> 来包裹按钮。这是必需的,因为默认的浏览器样式不会被重写。下面的实例演示了这点:
<span class="input-group-btn">
<button class="btn btn-default" type="button">Go!</button>
</span>
在输入框组中添加带有下拉菜单的按钮,只需要简单地在一个 <b>.input-group-btn</b> class 中包裹按钮和下拉菜单即可,如下面的实例所示:
<div class="input-group-btn">
<button type="button" class="btn btn-default
dropdown-toggle" data-toggle="dropdown">下拉菜单
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
<li>
<a href="#">功能</a>
</li>
<a href="#">另一个功能</a>
<a href="#">其他</a>
<li class="divider"></li>
<a href="#">分离的链接</a>
</ul>
</div><!-- /btn-group -->
<ul class="dropdown-menu pull-right">
在输入框组中添加带有下拉菜单的分割按钮,使用与下拉菜单按钮大致相同的样式,但是对下拉菜单添加了主要的功能,如下面的实例所示:
<button type="button" class="btn btn-default" tabindex="-1">下拉菜单</button>
dropdown-toggle" data-toggle="dropdown" tabindex="-1">
<span class="sr-only">切换下拉菜单</span>