我还是 Bootstrap 的新手,我想弄清楚什么是正确的,什么不是。在 col
中放置 col
是否可以接受?在下面的示例中,我有一个要适合屏幕一半的表单。我还希望某些表单控制元素为一半大小,而其他元素为全宽。这是解决这个问题的正确方法还是有更好的方法?
示例代码:
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
<!-- Latest compiled and minified JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
<section class="row">
<div class="container">
<div class="col-xs-12 text-center">
<h1>Contact</h1>
</div>
<form class="col-xs-12 col-sm-8 col-sm-offset-2 form-horizontal">
<div class="form-group form-group-lg">
<div class="col-sm-12">
<input class="form-control" type="text" placeholder="name">
</div>
</div>
<div class="form-group form-group-lg">
<div class="col-xs-6">
<input class="form-control" type="text" placeholder="email">
</div>
<div class="col-xs-6">
<input class="form-control" type="text" placeholder="website">
</div>
</div>
<button type="submit" class="btn btn-warning btn-lg pull-right col-xs-12">Submit</button>
</form>
</div>
</section>
原文由 Christian J 发布,翻译遵循 CC BY-SA 4.0 许可协议
是的,根据 Bootstrap 的 网格模板 指南,这没关系:
但是,Bootstrap
.row
有一个要点,即应用负边距以对齐内容。如果您不介意间距,或者能够自己调整列来解决这个问题,那么为嵌套列添加.row
容器就没有意义了。您可以将 .row 类放在与.col
相同的元素上以移除这些间距(感谢 Extragory 指出这一点)。同样,不将列换行会导致某些属性无法正确应用,例如 ---
.col
类中的flex
属性。.row
有display: flex
,任何具有 flex 属性的孩子都需要应用这些属性……否则它们将被忽略。