Задать вопрос

Как выровнять высоту колонок bootstrap в цикле новостей?

Помогите пожалуйста. Запарился уже. Есть такой код
<div class="container">
	<div class="row">

<!-- Этот блок выводится в цикле (например 12 записей) -->

		<div class="col-md-6">
			Это некая новость
		</div>

<!-- -->

Конец цикла

	</div>
</div>


При выводе новостей разной длины блоки становятся разной высоты 5276f0b25f4c462896d06ad810d2758d.png
А мне нужно это 2ab315d8f9e44d3ca40fb3bc0363756d.png

Может можно как-то после каждого второго блока вывести div.clearfix
  • Вопрос задан
  • 931 просмотр
Подписаться 1 Оценить 6 комментариев
Пригласить эксперта
Ответы на вопрос 5
@GreatRash
Используя именно бутстрап - никак. Колонки в CSS не предполагают одинаковости высот. Дизайнеры об этом не догадывались, не догадываются и никогда не догадаются. Поэтому вам придётся переопределять бутстраповские стили:

.container.container-as-table {
  display: table;

  width: 100%;
  border-collapse: collapse;
}

.container-as-table .row {
  display: table-row;
}

.container-as-table .col {
  display: table-cell;
}
Ответ написан
@Nc_Soft
Можно на row повесить класс flex-row
@media only screen and (min-width : 768px) {
    .flex-row.row {
        display: flex;
        flex-wrap: wrap;
    }
    .flex-row.row > [class*='col-'] {
        display: flex;
        flex-direction: column;
    }
}
Ответ написан
Комментировать
@alexmixaylov
в цикле есть счетчик i (ну или что там у вас)
if (i%2 == 0){
//четное
//деление на два без остатка
}

если счетчик нечетный выводить
<div class="row">
    <div class="col-md-6">
      Это некая новость
    </div>
здесь нет закрывающего тега див


если счетчик четный выводить
<div class="col-md-6">
      Это некая новость
    </div>
    </div>
здесь второй закрывающий див, но нет div.row
Ответ написан
Комментировать
@alex_ok83
я сделал проще
<div class="col-xs12">
<div class="col-md-4">Новость</div>
<div class="col-md-4">Новость</div>
<div class="col-md-4">Новость</div>
</div>
<div class="col-xs12">
<div class="col-md-4">Новость</div>
<div class="col-md-4">Новость</div>
<div class="col-md-4">Новость</div>
</div>
Ответ написан
Комментировать
Проблема не нова, так что все решения имеют плюсы и минусы
решение которое используем мы, поскольку оно не кастомное и не требует дополнительных стилей js и тд
Все что нужно сделать это каждый 2 и 3 элемент вставлять строку. что с легкостью делается на php совершенно штатным способом движка
Плюс решения простота и надежность, любое количество контента и сложность верстки внутри дива никак не повлияют на результат.
<div class="col-lg-4 col-md-6"><div>
<div class="col-lg-4 col-md-6"><div>
          <div class="col-md-12 visible-md">
<div class="col-lg-4 col-md-6"><div>
        <div class="col-lg-12 visible-lg">
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы