我正在撞墙,试图通过.form-horizontal
内的单选按钮从Bootstrap中获得理智的行为。
问题是让单选按钮及其标签排成一行,同时还与表单的其余部分对齐。我所管理的最好的是:
<legend>New user</legend>
<form accept-charset="UTF-8" action="#" class="form-horizontal" id="new_user" method="post">
<div class="control-group">
<label class="control-label" for="user_affiliation">Affiliation</label>
<div class="controls">
<input id="user_affiliation" name="user[affiliation]" size="30" type="text" />
</div>
</div>
<div class="control-group">
<div clas="controls">
<div class="radio">
<label>
<input id="user_role_managing_editor" name="user[role]" type="radio" value="Managing editor">
Managing editor
</label>
<label>
<input id="user_role_area_editor" name="user[role]" type="radio" value="Area editor">
Area editor
</label>
<label>
<input id="user_role_author_or_referee" name="user[role]" type="radio" value="Author or referee">
Author/referee
</label>
</div>
</div>
</div>
<div style="text-align: center;">
<input class="btn btn-primary" name="commit" type="submit" value="Register" />
</div>
</form>
这让我得到了这个:
正如您所看到的,单选按钮与表单的其余部分完全没有关系。他们应该与文本字段垂直对齐,或者做一些比左边拥抱更合理的事情,好像这是.form-inline
。
非常感谢任何帮助。
答案 0 :(得分:9)
没有黑客!,使用bootstrap2:
<div class="control-group">
<label class="control-label"> User role</label>
<div class="controls">
<label class="radio">
<input type="radio" name="user[role]" id="user_role_managing_editor" value="Managing editor" checked>
Managing editor
</label>
<label class="radio">
<input type="radio" name="user[role]" id="user_role_area_editor" value="Area editor">
Area editor
</label>
<label class="radio">
<input type="radio" name="user[role]" id="user_role_author_or_referee" value="Author or referee">
Author/referee
</label>
</div>
</div>
演示:http://jsfiddle.net/GX6q4/1/
更新:这是Bootstrap3版本:
<legend>New user</legend>
<form accept-charset="UTF-8" action="#" class="form-horizontal" id="new_user" method="post">
<div class="form-group">
<label class="col-xs-2 control-label" for="user_affiliation">Affiliation</label>
<div class="col-xs-10">
<input class="form-control" id="user_affiliation" name="user[affiliation]" size="30" type="text" />
</div>
</div>
<div class="form-group">
<label class="col-xs-2 control-label">User role</label>
<div class="col-xs-10">
<div class="radio">
<label>
<input type="radio" name="user[role]" id="user_role_managing_editor" value="Managing editor" checked>Managing editor
</label>
</div>
<div class="radio">
<label>
<input type="radio" name="user[role]" id="user_role_area_editor" value="Area editor">Area editor
</label>
</div>
<div class="radio">
<label>
<input type="radio" name="user[role]" id="user_role_author_or_referee" value="Author or referee">Author/referee
</label>
</div>
</div>
</div>
</form>
演示:http://jsfiddle.net/24sx72mn/1/
Bootstrap 4版本:
<legend>New user</legend>
<form accept-charset="UTF-8" action="#" id="new_user" method="post">
<div class="form-group row">
<label class="col-sm-2 col-form-label" for="user_affiliation">Affiliation</label>
<div class="col-sm-10">
<input class="form-control" id="user_affiliation" name="user[affiliation]" type="text" />
</div>
</div>
<div class="form-group row">
<label class="col-sm-2 col-form-label">User role</label>
<div class="col-sm-10">
<div class="form-check">
<input type="radio" class="form-check-input" name="user[role]" id="user_role_managing_editor" value="Managing editor" checked>
<label class="form-check-label" for="user_role_managing_editor">
Managing editor
</label>
</div>
<div class="form-check">
<input type="radio" class="form-check-input" name="user[role]" id="user_role_area_editor" value="Area editor">
<label class="form-check-label" for="user_role_area_editor">
Area editor
</label>
</div>
<div class="form-check">
<input type="radio" class="form-check-input" name="user[role]" id="user_role_author_or_referee" value="Author or referee">
<label class="form-check-label" for="user_role_author_or_referee">
Author/referee
</label>
</div>
</div>
</div>
</form>
答案 1 :(得分:1)
没有黑客,你只需要使用Bootstrap网格系统(col-xx-x类),例如:
<div class="form-group" >
<label for="txt_web" class="col-lg-3 control-label">xxx</label>
<div class="col-lg-9">
<input class="form-control input-sm" type="text" name="txt_web" id="txt_web" />
</div>
</div>
<div class="form-group" >
<label for="txt_web" class="col-lg-3 control-label">xxx</label>
<div class="col-lg-9">
<div class="radio">...</div>
...
</div>
</div>
答案 2 :(得分:0)