响应式表单,每行切换1或2个控件

时间:2016-02-25 04:40:32

标签: html css twitter-bootstrap twitter-bootstrap-3

我正在尝试使用Bootstrap创建响应式表单。

当页面宽度为medium时,我希望日期范围控件共享同一行:

Web form controls where the last two controls are on the same line

<小时/> 当页面很小时,我希望将两个日期控件放在不同的行上:

enter image description here

问题是 - 如果我将StartEnd置于同一表单组中,则在单独的行中它不会很好地隔离:

enter image description here

<小时/> 但是,如果我将StartEnd放在不同的表单组中,即使屏幕很宽,它们也总是在不同的行上。

bootstrap是否提供了解决此问题的方法,或者我是否必须编写自己的自定义样式规则?

以下是完整的代码:

http://plnkr.co/edit/XZYEU73ov7BBaMQmO7ec?p=preview

<form class="form-horizontal">
  <div class="row">
    <div class="col-xs-12 col-sm-8 col-md-8">
      <div class="form-group">
        <label class="col-sm-2 control-label">
          Video
        </label>
        <div class="col-sm-10">
          <input class="form-control" type="text" />
        </div>
      </div>
      <div class="form-group">
        <label class="col-sm-2  control-label">
          Start
        </label>
        <div class="col-sm-10 col-md-4">
          <input class="form-control" type="date" />
        </div>
        <!-- If I start a new form group here, it forces a new line -->
        <label class="col-sm-2 control-label">
          End
        </label>
        <div class="col-sm-10 col-md-4">
          <input class="form-control" type="date" />
        </div>
      </div>
    </div>
    <div class="col-xs-12 col-sm-4 col-md-4">
      <button class="btn btn-primary">
        Generate Report
      </button>
    </div>
  </div>
</form>

2 个答案:

答案 0 :(得分:1)

您可以添加一个自定义CSS类,并将其添加到您想要的边距(根据需要更改最大宽度)。

@media all and (max-width: 991px){
    .margin-bottom {
      margin-bottom:15px;
    }
}

http://plnkr.co/edit/kZza07SVcYa6QfC8YwpU?p=preview

答案 1 :(得分:0)

如果您在http://plnkr.co/edit/XZYEU73ov7BBaMQmO7ec?p=preview中使用示例1,请使用以下CSS进行响应式视图:

@media all and (max-width: 991px){

.col-sm-10{
    margin-bottom: 15px;
 }

}