Я очень новичок в области адаптивного дизайна веб-сайтов (в общем, для разработки интерфейса), и я пытаюсь создать простое небольшое угловое приложение для чата, используя начальную загрузку, проектируя с внимательностью в течение всего пути. Тем не менее, я сталкиваюсь с множеством проблем, когда начинаю встраивать flex-боксы, и думаю, что просто не до конца понимаю. В идеале это мои взгляды, когда вы используете устройство большего размера и меньше.
Large

Маленькое устройство (обратите внимание, я ничего не сделал для изменения настроек кнопки):

И вот реальность, которую я получаю при использовании h-100 (я не вижу встроенных адаптивных классов для высоты, но могу ошибаться):

Я думаю Я понимаю проблему, я использую h-100 с col-12, и поэтому левая сторона занимает всю комнату, а правая сторона шунтируется со страницы. Я попытался получить такой же внешний вид с помощью flex-fill и flex-grow-1, но они, похоже, ничего не делают с настоящим документом. Вот мой код:
<app-header></app-header>
<div class="container-fluid" id="mainContent">
<div class="row h-100 flex-column-reverse flex-md-row">
<div class="col-md-3 col-12 flex-fill">
<div class="d-flex flex-column h-100 justify-content-between">
<div>
<app-channels></app-channels>
</div>
<div>
<app-settings></app-settings>
</div>
</div>
</div>
<div class="col-md-9 col-12">
<app-messages></app-messages>
</div>
</div>
</div>
(app-messages также использует h-100 для заполнения экрана)
пользовательские scss:
@import "../node_modules/bootstrap/scss/bootstrap";
html, body {
height: 100% !important;
width: 100% !important;
}
Есть ли способ заставить этот контент переключаться между представлениями, которые я опубликовал выше, с помощью flexbox вместо использования h-100? Или есть такие отзывчивые классы, как, например, h-sm-100, так что он использует только 100% высоты для маленьких и выше?
Спасибо за ваше время.