Я использую Bootstrap V3.3.5. Экран разделен на 3 горизонтальных столбца. Каждый столбец имеет разную длину текста, которая может быть изменен пользователем.
Столбцы адаптивные горизонтальные (от Bootstrap).
Цель ... как исправить: мне нужен такая же высота для этих трех столбцов - ящиков. Каждый блок-столбец должен иметь высоту самого высокого блока-столбца .... так что все блоки-столбцы имеют одинаковую высоту.
Кроме .... в Bootstrap режиме "хз" ящики вертикальные (нет проблем). Проблема в режиме "sm, md и lg" (Bootstrap), когда столбцы расположены горизонтально рядом друг с другом.
Обновлено:
Я думал, что проблема в текст, но похоже, что это кнопка начальной загрузки МОДАЛЬНЫЙ ... поэтому я не поместил модальный код в первый код.
Я так и сделал: разместил style = "white-space: normal;" (чтобы уместить текст в модальном) - похоже, есть конфликт с этим стилем
В розыске:
Смотрите фрагмент в полноэкранном режиме!
Код:
<!doctype html>
<html>
<head>
<style>
.row {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
}
@media (max-width: 768px) {
.row {
flex-wrap: wrap;
}
}
.row > [class*='col-'] {
display: flex;
flex-direction: column;
}
</style>
<meta charset = "utf-8">
<title>Untitled Document</title>
<script src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<!-- Latest compiled and minified JavaScript -->
<script src = "https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity = "sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin = "anonymous"></script>
<!-- Latest compiled and minified CSS -->
<link rel = "stylesheet" href = "https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity = "sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin = "anonymous">
<!-- Optional theme -->
<link rel = "stylesheet" href = "https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" integrity = "sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin = "anonymous">
</head>
<body>
<!-- BootsTrap V 3.3.5 -->
<div class = "container-fluid">
<div class = "row RowHeight" >
<div class = "col-xs-12 col-sm-3">
<!-- Button trigger modal -->
<button type = "button" class = "btn btn-primary btn-lg" data-toggle = "modal" data-target = "#myModal_1" style = "white-space: normal;">
Launch demo modal 11 11 111 111
</button>
<!-- Modal -->
<div class = "modal fade" id = "myModal_1" tabindex = "-1" role = "dialog" aria-labelledby = "myModalLabel_1">
<div class = "modal-dialog" role = "document">
<div class = "modal-content">
<div class = "modal-header">
<button type = "button" class = "close" data-dismiss = "modal" aria-label = "Close"><span aria-hidden = "true">×</span></button>
<h4 class = "modal-title" id = "myModalLabel_1">Modal title</h4>
</div>
<div class = "modal-body">
...
</div>
<div class = "modal-footer">
<button type = "button" class = "btn btn-default" data-dismiss = "modal">Close</button>
<button type = "button" class = "btn btn-primary">Save changes</button>
</div>
</div>
</div>
</div> </div><!-- col2 -->
<!-- Button trigger modal (end) -->
<div class = "col-xs-12 col-sm-3">
<!-- Button trigger modal -->
<button type = "button" class = "btn btn-primary btn-lg" data-toggle = "modal" data-target = "#myModal_2" style = "white-space: normal;">
Launch demo modal 2222 222 222 222 222 222 222 22222222 22 22222 2222
</button>
<!-- Modal -->
<div class = "modal fade" id = "myModal_2" tabindex = "-1" role = "dialog" aria-labelledby = "myModalLabel_2">
<div class = "modal-dialog" role = "document">
<div class = "modal-content">
<div class = "modal-header">
<button type = "button" class = "close" data-dismiss = "modal" aria-label = "Close"><span aria-hidden = "true">×</span></button>
<h4 class = "modal-title" id = "myModalLabel_2">Modal title</h4>
</div>
<div class = "modal-body">
...
</div>
<div class = "modal-footer">
<button type = "button" class = "btn btn-default" data-dismiss = "modal">Close</button>
<button type = "button" class = "btn btn-primary">Save changes</button>
</div>
</div>
</div>
</div> </div><!-- col2 -->
<!-- Button trigger modal (end) -->
</div>
</div>
</body>
</html>





Самое простое решение - присвоить жестко запрограммированную высоту вашему классу "бокса" на основе самого высокого столбца-бокса, например:
.box {
height: 300px;
}
Другим решением может быть вычисление самой высокой высоты поля столбца с помощью JavaScript и динамическое присвоение той же высоты другим двум полям, также через JS.
Используйте flexbox для этого, вы можете легко получить одинаковую высоту для всех .box на основе столбца максимальной высоты, я сделал короткий пример на основе вашего кода, посмотрите:
.box {
background-color: lightgray;
margin-left: 10px;
}
.row{
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
}
.row > [class*='col-'] {
display: flex;
flex-direction: column;
}<script src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<!-- Latest compiled and minified CSS -->
<link rel = "stylesheet" href = "https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity = "sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin = "anonymous">
<!-- Optional theme -->
<link rel = "stylesheet" href = "https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" integrity = "sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin = "anonymous">
<!-- Latest compiled and minified JavaScript -->
<script src = "https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity = "sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin = "anonymous"></script>
<body>
<!-- BootsTrap V 3.3.5 -->
<div class = "container-fluid">
<div class = "row" >
<!-- for test! -->
<div class = "col-xs-4 col-sm-4 box">
<p> Lorem ipsum dolor sit amet</p>
</div>
<div class = "col-xs-4 col-sm-4 box">
<p> Lorem ipsum dolor sit amet, consec tetuer adipiscing consec elit.</p>
</div>
<div class = "col-xs-4 col-sm-4 box">
<p> Lorem ipsum dolor sit amet, consec tetuer adipis cing elit. Aenean commodo ligula eget dolor. Aenean massa cing.</p>
</div>
</div>
</div>
</body>Вы также можете попробовать вот так:
.box {
background-color: lightgray;
padding: 5px 10px;
min-height: 200px;
}
@media (max-width: 768px) {
.box {
min-height: auto;
margin-bottom: 15px;
}
}<link href = "https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.5/css/bootstrap.min.css" rel = "stylesheet"/>
<div>
<!-- for test! -->
<div class = "col-xs-12 col-sm-4">
<div class = "box">
<p> Lorem ipsum dolor sit amet</p>
</div>
</div>
<div class = "col-xs-12 col-sm-4">
<div class = "box">
<p> Lorem ipsum dolor sit amet, consec tetuer adipiscing consec elit.</p>
</div>
</div>
<div class = "col-xs-12 col-sm-4">
<div class = "box">
<p> Lorem ipsum dolor sit amet, consec tetuer adipis cing elit. Aenean commodo ligula eget dolor. Aenean massa cing.</p>
</div>
</div>
</div>Можете ли вы добавить это в свою функцию onload `
var heighest = document.getElementsByClassName("box")[0].offsetHeight;
for(i = 1;i<3; i++){
if (heighest < document.getElementsByClassName("box")[i].offsetHeight){
heighest = document.getElementsByClassName("box")[i].offsetHeight;
}
}`
После этого вы можете использовать heighest
.box {
background-color: lightgray;
height: heighest;
}