Bootstrap блок со 100% высотой

У меня есть следующий код с Bootstrap 3.3.7:

<div class = "container">
    <div class = "row">
        <div class = "navigation col-lg-4"></div>
        <div class = "item col-lg-8"></div>
        <div class = "item col-lg-8"></div>
        <div class = "item col-lg-8"></div>
        <div class = "item col-lg-8"></div>
    </div>
</div>

Навигация имеет меньшую высоту содержимого, чем элементы, поэтому сразу после навигации она сдвигается влево... Как сделать абсолютную высоту навигации равной 100%?

это все, что показывает ваш код, даже с подключенным bootstrap - ibb.co/LgLmj1K

s.kuznetsov 13.12.2020 18:05
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
0
1
163
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Ответ принят как подходящий

Альтернативный подход к предотвращению скольжения элемента влево состоит в том, чтобы изменить дизайн макета, первоначально разделив навигацию и столбец элементов, а также вложив элементы внутрь столбца элементов.

<div class = "container">
  <div class = "row">
    <div class = "navigation col-lg-4"></div>
    <div class = "col-lg-8">
      <div class = "row">
        <div class = "item col-lg-12"></div>
        <div class = "item col-lg-12"></div>
        <div class = "item col-lg-12"></div>
        <div class = "item col-lg-12"></div>
      </div>
    </div>
  </div>
</div>

нет необходимости определять дополнительную строку внутри col-lg-8, и она уже охватывает всю ширину элемента, поэтому нет необходимости определять col-lg-12 в классе элемента.

KuldipKoradia 17.12.2020 08:10

@KuldipKoradia OP использует класс col-lg-8 с item, и мы не можем быть уверены, что это не требуется, не изучая фактический дизайн и требования, дальнейшее использование lg указывает на возможность адаптивного дизайна, поэтому целью было решить проблему с минимальное изменение дизайна.

Shub 17.12.2020 08:23

у меня тоже нет побочного эффекта, потому что мое предложение также работает, как и вы, потому что у родителя в элементах также есть col-lg-8, поэтому он управляет отзывчивостью так же, как и на вашем пути.

KuldipKoradia 17.12.2020 08:29

Я думаю, вам нужно внести изменения в структуру макета, чтобы решить вашу проблему.

Вы очень хорошо знаете, что в Bootstrap у нас есть 12 столбцов подряд, теперь вы сначала используете col-lg-4, а затем используете col-lg-8, так что всего 4 + 8 = 12. теперь со второго col-lg-8 он начинается с первого, и снова вы используете col-lg-8 означает, что он не может корректироваться в пространстве после второго col-lg-8 в вашем коде, поэтому третий col-lg-8 также помещается на начальный край.

Итак, теперь вам нужно создать структуру сетки, как показано ниже:

<div class = "container">
  <div class = "row">
    <div class = "navigation col-lg-4"></div>
    <div class = "item-list col-lg-8">
      <div class = "item"></div>
      <div class = "item"></div>
      <div class = "item"></div>
    </div>
  </div>
</div>

Не могли бы вы проверить приведенный ниже код? Надеюсь, это сработает для вас. Мы дали min-height: 100vh навигации, чтобы она автоматически принимала высоту окна. Мы также сделали row гибким макетом, чтобы при увеличении высоты content-section высота навигации оставалась равной разделу содержимого.

Пожалуйста, перейдите по этой ссылке https://jsfiddle.net/yudizsolutions/mvkq17wn/18/

.main-row { 
  display: flex;
  display: -webkit-flex;
}

.navigation {
   min-height: 100vh;
}

.content-section .item { 
  height: 200px;
}
<link href = "https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel = "stylesheet"/>
<div class = "container">
  <div class = "row main-row">
    <div class = "navigation bg-primary col-lg-4">Navigation</div>
    <div class = "content-section bg-info col-lg-8">
      <div class = "item">Item 1</div>
      <div class = "item">Item 2</div>
      <div class = "item">Item 3</div>
    </div>
  </div>
</div>

Другие вопросы по теме