Установить HTML-тег на 100% высоту

Я пытаюсь установить 100% высоты для элемента HTML. На мобильных устройствах этот div будет находиться под div .div_left, а плавающий будет очищен.

У меня есть эти div по моей теме:

<div class = "col-md-7 div_left"></div>
<div class = "col-md-5 div_right"></div>
<div class = "clearfix"></div>

Я даю им этот css: (также включен global bootstrap.css)

.div_left{ background:#fff; padding:40px;}
.div_right{ background:#ccc; padding:40px; height:100%;}

Я попробовал height:100vh;, но это не работает, когда на странице много контента, и я могу прокручивать его по вертикали.

Я также пробовал min-height:100%, но это не сработало. Я вижу правый серый фон div, но это только потому, что у него есть отступы.

Скриншот здесь

Вторая попытка: Второе изображение

Не могли бы вы уточнить свой вопрос? Покажите нам, как это выглядит сейчас и как вы хотите, например, чтобы он выглядел?

Jake 06.12.2018 14:09

Очистите его до HTML и предоставьте достаточно, чтобы воспроизвести проблему. А почему бы тебе не использовать min-height:100vh?

Zim 06.12.2018 14:09

Я написал, вот почему 100vh не работает.

max777 06.12.2018 14:13

Вы сказали, что height:100vh и min-height:100% не работают, нетmin-height:100vh. Уточните, пожалуйста, вопрос и что именно вы пробовали. И что именно означает "когда на странице слишком много контента, и я могу прокручивать его по вертикали"? Какое ожидаемое поведение? Будет ли дополнительный контент скрыт и недоступен? Вы ожидаете полосу прокрутки где-нибудь еще?

Zim 06.12.2018 14:14

Я добавил изображение к посту. Вы можете видеть на нем, что у меня много контента, и я прокрутил сайт вниз. Когда я прокручиваю, серый фон заканчивается, поэтому 100vh не работает.

max777 06.12.2018 14:22
Улучшение производительности загрузки с помощью 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 страниц, которые помогут...
1
5
1 363
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

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

Используйте min-height 100vh для всей строки ...

.div_left{ background:#fff; padding:40px;}
.div_right{ background:#ccc; padding:40px;}

.mvh-100 {
    min-height: 100vh;   
}

https://www.codeply.com/go/vTYz8XE6cG

Рабочий стол:

Мобильный:

Нет. Я добавил изображение к сообщению со вторым именем. Вот что делает ваш код, я скопировал его в свой файл.

max777 06.12.2018 14:35

Нет, это не то, что делает код. Посмотрите демо. Вы не уточняете, что именно ожидается. Если это не работает, у вас есть другой CSS или HTML, который влияет на макет.

Zim 06.12.2018 14:37

В html у div есть flex-классы. Где они добавлены в CSS?

max777 06.12.2018 14:42

Они являются частью Bootstrap, но не требуются для работы min-height:100vh. Вы увидите, что демо также отлично работает без них, но их можно использовать для изменения макета рабочего стола по сравнению с мобильным. Но поскольку вы не уточнили, чего ожидать, это все догадки.

Zim 06.12.2018 14:43

Теперь я вижу, я добавил display: flex в класс mv-100. Теперь высота прекрасна, но в мобильной версии div'ы плавают, они не заходят друг под друга.

max777 06.12.2018 14:44

Вы используете Bootstrap 3 или Bootstrap 4?

Zim 06.12.2018 14:45

Что ж, это хороший вопрос, потому что, когда я сжал файл css, он удалил все комментарии. Но, думаю, это версия 3.

max777 06.12.2018 14:47

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

Zim 06.12.2018 14:47

Да, теперь я это понимаю. Но чего не хватает в 3?

max777 06.12.2018 14:48

Чтобы использовать height:100%;, у родительского элемента должен быть height: fixedHeight;, потому что он вам не подходит.

https://www.w3schools.com/cssref/pr_dim_height.asp

% Defines the height in percent of the containing block

Что вам нужно определить: 100% чего?

Вот дополнительная информация о vh

Сделайте div 100% высоты окна браузера

Там сказано:

The viewport-percentage lengths are relative to the size of the initial containing block. When the height or width of the initial containing block is changed, they are scaled accordingly.

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