我正在尝试使用bootstrap对齐表单输入元素,但没有太多运气。我尝试过拉左手。有没有办法使用纯引导程序,而不必添加狡猾的一次性CSS?
<div class="modal-body">
<form class="form-horizontal" role="form">
<div class="row">
<div class="form-group">
<label class="control-label col-xs-2">Title:</label>
<div class="col-xs-10">
<input type="text" class="form-control" data-bind="value: title" />
</div>
</div>
</div>
<div class="row">
<div class="form-group">
<label class="control-label col-xs-2">Start:</label>
<div class="input-group input-group-sm col-xs-3">
<input type="text" placeholder="mm/dd/yy" data-provide="datepicker" data-bind="value:date" id="Date" />
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
</form>
</div>
答案 0 :(得分:2)
首先,您在第二个表单组中缺少class="form-control"
。
其次,你将列与输入组混合在一起,这不是引导方式。
请勿将输入组与其他组件混合使用。 (见:http://getbootstrap.com/components/#input-groups)
不要将表单组或网格列类直接与输入混合使用 组。而是将输入组嵌套在表单组或内部 与网格相关的元素。“
正确的HTML结构:
<div class="modal-body">
<form class="form-horizontal" role="form">
<div class="row">
<div class="form-group">
<label class="control-label col-xs-2">Title:</label>
<div class="col-xs-10">
<input type="text" class="form-control" data-bind="value: title" />
</div>
</div>
</div>
<div class="row">
<div class="form-group">
<label class="control-label col-xs-2">Start:</label>
<div class="col-xs-4">
<div class="input-group">
<input type="text" class="form-control" data-bind="value: title" />
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
</div>
</form>
</div>
修正了演示CODEPEN
答案 1 :(得分:2)
如上所述,您的结构未使用正确的组件。您不应将列类与input-groups
(docs)混合使用,也不应在rows
类中使用horizontal form
。请参阅Docs
使用Bootstrap的预定义网格类来对齐标签和组 通过将.form-horizontal添加到水平布局中来控制表单 形式(不一定是)。这样做会改变 .form-groups表现为网格行,因此不需要.row。
工作示例代码段。
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css" rel="stylesheet" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet" />
<button type="button" class="btn btn-info btn-lg" data-toggle="modal" data-target="#myModal">Open Modal</button>
<!-- Modal -->
<div id="myModal" class="modal fade" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h4>Some Form</h4>
</div>
<div class="modal-body">
<form class="form-horizontal">
<div class="form-group">
<label class="control-label col-xs-3">Title:</label>
<div class="col-xs-9">
<input type="text" class="form-control" data-bind="value: title" />
</div>
</div>
<div class="form-group">
<label class="control-label col-xs-3">Start:</label>
<div class="col-xs-9">
<div class="input-group">
<input type="text" class="form-control" placeholder="mm/dd/yy" data-provide="datepicker" data-bind="value:date" id="Date" /> <span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
</form>
</div>
</div>
</div>
</div>