Bootstrap 4.00列未中断至新行

时间:2018-06-28 08:58:48

标签: html css bootstrap-4 multiple-columns

不太确定发生了什么。当我减小浏览器的宽度时,这些列应该移到下一行,但是,它们却彼此重叠,为什么?

这与我命名列类的方式有关吗?一共有三个,所以我给每个输入了col-4。当浏览器的宽度变小时,为什么不转到下一行?

<html>
  <head>
    <link rel="stylesheet" href="css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.css" type='text/css'>
  </head>
  <body>
    <div class="row">
      <div class="col-4">
        <div class="btn-group btn-group-toggle" data-toggle="buttons">
          <label class="btn btn-primary active">
            <input type="radio" name="options" id="option1" autocomplete="off" checked> Test
          </label>
          <label class="btn btn-primary">
            <input type="radio" name="options" id="option2" autocomplete="off"> Test
          </label>
          <label class="btn btn-primary">
            <input type="radio" name="options" id="option3" autocomplete="off"> Test
          </label>
          <label class="btn btn-primary">
            <input class="btn-light" type="radio" name="options" id="option4" autocomplete="off"> Test
          </label>   
        </div>
      </div>
      <div class="col-4">
        <span class="main">Date</label>
          <input id="dashboardDatePick" type="date" name="date">
        </div>
        <div class="col-4">
          <span class="main">Date 2</label>
          <input id="dashboardTimePick" type="date" name="time">
        </div>
      </div>
    <script src="js/jquery-3.2.1.js"></script>
    <script src="js/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
    <script src="js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
    <script src="js/main.js"></script>
  </body>
</html> 

3 个答案:

答案 0 :(得分:1)

如果您想让他们换行,您必须定义他们使用的其他width屏幕尺寸

您设置了col-4,这意味着所有屏幕尺寸都设置了col-4width:33.33%

正如您所说,您希望他们刹车,原因是您需要声明尺寸;

例如:

col-md-4

→从md向上设置width:33.33%12/4=3 => 100%:3=33.33%),从md向下(平均smxs)设置width:100%

在此处了解更多信息:https://getbootstrap.com/docs/4.0/layout/grid/

  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.1.0/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.0/umd/popper.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.1.0/js/bootstrap.min.js"></script>
 <div class="container">
<div class="row">
            <div class="col-md-4">

                <div class="btn-group btn-group-toggle" data-toggle="buttons">
                  <label class="btn btn-primary active">
                    <input type="radio" name="options" id="option1" autocomplete="off" checked> Test
                  </label>
                  <label class="btn btn-primary">
                    <input type="radio" name="options" id="option2" autocomplete="off"> Test
                  </label>
                  <label class="btn btn-primary">
                    <input type="radio" name="options" id="option3" autocomplete="off"> Test
                  </label>
                  <label class="btn btn-primary">
                    <input class="btn-light" type="radio" name="options" id="option4" autocomplete="off"> Test
                  </label>   
                </div>

            </div>

            <div class="col-md-4">
                <span class="main">Date</label>
                <input id="dashboardDatePick" type="date" name="date">
            </div>

            <div class="col-md-4">
                <span class="main">Date 2</label>
                <input id="dashboardTimePick" type="date" name="time">
            </div>                          

    </div>
 </div>

注意!

  

bootstrap 4删除了xs的大小,这意味着col-*是从xs起的

答案 1 :(得分:0)

在这里使用的Bootstrap内置类应该是:

.col-md-4

不是

.col-4

请将所有出现的.col-4更改为.col-md-4,以获得所需的结果。

编辑:这会将中型屏幕尺寸设置为断点,低于该尺寸时div将占据屏幕宽度的100%,因此三个div会彼此堆叠。

答案 2 :(得分:-1)

在最新的Bootstrap 4版本中,col-4表示所有设备的宽度为33.33%。除了使用col-4之外,您还可以使用col-lg-4或col-md-4在响应式设计中获得所需的结果。

<html>

    <head>

        <link rel="stylesheet" href="css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
        <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.css" type='text/css'>

    </head>

    <body>

        <div class="row">
            <div class="col-lg-4">

                <div class="btn-group btn-group-toggle" data-toggle="buttons">
                  <label class="btn btn-primary active">
                    <input type="radio" name="options" id="option1" autocomplete="off" checked> Test
                  </label>
                  <label class="btn btn-primary">
                    <input type="radio" name="options" id="option2" autocomplete="off"> Test
                  </label>
                  <label class="btn btn-primary">
                    <input type="radio" name="options" id="option3" autocomplete="off"> Test
                  </label>
                  <label class="btn btn-primary">
                    <input class="btn-light" type="radio" name="options" id="option4" autocomplete="off"> Test
                  </label>   
                </div>

            </div>

            <div class="col-lg-4">
                <span class="main">Date</label>
                <input id="dashboardDatePick" type="date" name="date">
            </div>

            <div class="col-lg-4">
                <span class="main">Date 2</label>
                <input id="dashboardTimePick" type="date" name="time">
            </div>                          

    </div>

        <script src="js/jquery-3.2.1.js"></script>
        <script src="js/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
        <script src="js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>

        <script src="js/main.js"></script>

    </body>
</html>