Bootstrap V4表单内联到堆叠

时间:2018-09-27 03:53:46

标签: css bootstrap-4

我目前有一个小表格,其中包含3个元素,分别是标签,输入和按钮。

我希望这些元素彼此堆叠(默认表单布局),且屏幕尺寸应从小到中。然后在表格中向上,我希望表格是内联的。

这是我到目前为止的代码:

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js"></script>

<div class="col-auto pb-3 ml-auto">
  <form class="form-inline" method="post">
    <div class="form-group mx-sm-3 mb-2">
      <label for="refined_search">Refine Search: </label>
    </div>
    <div class="form-group mx-sm-3 mb-2">
      <input id="refined_search" type="text" name="refined_search">
    </div>
    <button class="btn btn-primary" type="submit" }>Submit</button>
  </form>
</div>

2 个答案:

答案 0 :(得分:0)

@media (min-width: 768px) {
  .my-form-inline {
    display: flex;
    flex-flow: row nowrap;
  }
}
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css">
<div class="col-auto pb-3 ml-auto">
  <form class="my-form-inline" method="post">
    <div class="form-group mx-sm-3 mb-2">
      <label for="refined_search">Refine Search: </label>
    </div>
    <div class="form-group mx-sm-3 mb-2">
      <input id="refined_search" type="text" name="refined_search">
    </div>
    <div class="form-group mx-sm-3 mb-2">
      <button class="btn btn-sm btn-primary" type="submit">Submit</button>
    </div>
  </form>
</div>

答案 1 :(得分:0)

一种实现此目的的方法是在CSS中使用媒体查询,除非您不是要找的人。

在您的HTML文件中,将下面的元代码添加到head标签

<meta name="viewport" content="width=device-width, initial-scale=1.0">
  

视口元素向浏览器提供有关如何   控制页面的尺寸和缩放比例。

在表单上添加一个ID。这是可选的,您也可以使用表单类名称,但是请确保在CSS中使用相同的名称来引用表单。       

在CSS中,使用媒体查询

@media only screen and (min-width: 600px) {
  #test{
    display: block;
  }
}
@media only screen and (min-width: 768px) {
  #test{
    display: inline-flex;
  }
}