Я пишу и пример приложения с использованием начальной загрузки 4 и PHP. Я пытаюсь получить два столбца для отображения рядом друг с другом в определенной точке останова. Вот пример. Что я могу сделать, чтобы решить эту проблему?
<html> <head> <!--bootstrap 4.0--> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.1/css/bootstrap.min.css" integrity="sha384-WskhaSGFgHYWDcbwN70/dfYBj47jz9qbsMId/iRN3ewGhXQFZCSftd1LZCfmhktB" crossorigin="anonymous"> </head> <body> <div class="container"> <div class="row"> <div class="col-lg-3" style="margin: 20px 0;"> <h4>Search</h4> </div> <div class="col-lg-3" style="margin: 20px 0;"> <h4>Displaying ### results</h4> </div> </div> <div class="row"> <div class="col-lg-3 col-sm-12"> <p>Search field</p> <p>Search field</p> <p>Search field</p> <p>Search field</p> </div> <!-- at col-sm-6 I want two columns to display. how can i solve this? --> <div class="col-lg-9 col-sm-6"> <?php for($i=0; $i<10; $i++) { ?> <div> Record <hr/> </div> <?php } ?> </div> </div> </div> <!--bootstrap 4 javascript--> <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script> <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.1/js/bootstrap.min.js" integrity="sha384-smHYKdLADwkXOn1EmN1qk/HfnUcbVRZyYmZ4qpPea6sjB/pTJ0euyQp0Mk8ck+5T" crossorigin="anonymous"></script> </body> </html>
Спасибо за вашу помощь. Прочитав ваши ответы, я решил это. Это то, что мне было нужно:
<html> <head> <!--bootstrap 4.0--> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.1/css/bootstrap.min.css" integrity="sha384-WskhaSGFgHYWDcbwN70/dfYBj47jz9qbsMId/iRN3ewGhXQFZCSftd1LZCfmhktB" crossorigin="anonymous"> </head> <body> <div class="container"> <div class="row"> <div class="col-lg-6" style="margin: 20px 0;"> <h4>Search</h4> </div> <div class="col-lg-6" style="margin: 20px 0;"> <h4>Displaying ### results</h4> </div> </div> <div class="row"> <div class="col-lg-3"> <p>Search field</p> <p>Search field</p> <p>Search field</p> <p>Search field</p> </div> <div class="col-lg-9"> <div class="row"> <?php for($i=0; $i<10; $i++) { ?> <div class="col-lg-12 col-sm-6"> Record <hr/> </div> <?php } ?> </div> </div> </div> </div> <!--bootstrap 4 javascript--> <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script> <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.1/js/bootstrap.min.js" integrity="sha384-smHYKdLADwkXOn1EmN1qk/HfnUcbVRZyYmZ4qpPea6sjB/pTJ0euyQp0Mk8ck+5T" crossorigin="anonymous"></script> </body> </html>
Похоже, у вас несоответствующее количество столбцов.
Я подозреваю, что этот бит ...
<div class="col-lg-3 col-sm-12">
должно быть ...
<div class="col-lg-3 col-sm-6">
это то, что вы хотите:
<html> <head> <!--bootstrap 4.0--> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.1/css/bootstrap.min.css" integrity="sha384-WskhaSGFgHYWDcbwN70/dfYBj47jz9qbsMId/iRN3ewGhXQFZCSftd1LZCfmhktB" crossorigin="anonymous"> </head> <body> <div class="container"> <div class="row"> <div class="col-lg-3" style="margin: 20px 0;"> <h4>Search</h4> </div> <div class="col-lg-3" style="margin: 20px 0;"> <h4>Displaying ### results</h4> </div> </div> <div class="row"> <div class="col-lg-3 col-sm-9"> <p>Search field</p> <p>Search field</p> <p>Search field</p> <p>Search field</p> </div> <!-- at col-sm-6 I want two columns to display. how can i solve this? --> <div class="col-lg-9 col-sm-3"> <?php for($i=0; $i<10; $i++) { ?> <div> Record <hr/> </div> <?php } ?> </div> </div> </div> <!--bootstrap 4 javascript--> <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script> <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.1/js/bootstrap.min.js" integrity="sha384-smHYKdLADwkXOn1EmN1qk/HfnUcbVRZyYmZ4qpPea6sjB/pTJ0euyQp0Mk8ck+5T" crossorigin="anonymous"></script> </body> </html>
https://jsfiddle.net/48n2hvyd/3/
Самое важное, что следует помнить о Bootstrap, это то, что каждая строка должна содержать столбцы, в которых можно добавить до 12. Вместо того, чтобы ставить col-sm-6 на каждый контейнер записей, вам нужно вместо этого ставим row и добавляем col-6 к каждому из <div> элементов записи, выводимых внутри вашего цикла PHP.
col-sm-6
row
col-6
<div>
Это можно увидеть в следующем:
<html> <head> <!--bootstrap 4.0--> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.1/css/bootstrap.min.css" integrity="sha384-WskhaSGFgHYWDcbwN70/dfYBj47jz9qbsMId/iRN3ewGhXQFZCSftd1LZCfmhktB" crossorigin="anonymous"> </head> <body> <div class="container"> <div class="row"> <div class="col-lg-3" style="margin: 20px 0;"> <h4>Search</h4> </div> <div class="col-lg-3" style="margin: 20px 0;"> <h4>Displaying ### results</h4> </div> </div> <div class="row"> <div class="col-lg-3 col-sm-12"> <p>Search field</p> <p>Search field</p> <p>Search field</p> <p>Search field</p> </div> <!-- at col-sm-6 I want two columns to display. how can i solve this? --> <div class="col-lg-9 row"> <div class="col-6"> Record <hr/> </div> <div class="col-6"> Record <hr/> </div> <div class="col-6"> Record <hr/> </div> <div class="col-6"> Record <hr/> </div> <div class="col-6"> Record <hr/> </div> <div class="col-6"> Record <hr/> </div> <div class="col-6"> Record <hr/> </div> <div class="col-6"> Record <hr/> </div> <div class="col-6"> Record <hr/> </div> <div class="col-6"> Record <hr/> </div> </div> </div> </div> <!--bootstrap 4 javascript--> <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script> <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.1/js/bootstrap.min.js" integrity="sha384-smHYKdLADwkXOn1EmN1qk/HfnUcbVRZyYmZ4qpPea6sjB/pTJ0euyQp0Mk8ck+5T" crossorigin="anonymous"></script> </body> </html>
Также обратите внимание, что col-6 будет применяться к всей ширине в Bootstrap 4, тогда как col-sm-6 будет применяться только к ширине больше , чем 575px: