Как включить прокрутку для одного элемента в Flex Layout?

Я использую Angular CLI для создания страницы flexbox с 3 контейнерами. Средний подключен к выходу маршрута, и у одного есть 2 элемента, левый показывает список, а правый показывает детали при выборе элемента из списка. Вот что я кодирую

это app.component.html

<div class = "container"
     fxLayout = "row" 
     fxLayoutAlign = "center">
  <div class = "item item-1" fxFlex = "100%"><app-header></app-header>
</div>
</div>
<div class = "container main"
     fxLayout = "column" 
     fxLayout.xs = "column"
     fxLayoutAlign = "center stretch"
     fxLayoutGap = "10px"
     fxLayoutGap.xs = "0">

<router-outlet></router-outlet>
</div>


<div class = "container"
     fxLayout
     fxLayout.xs = "row"
     fxLayoutAlign = "center"
     fxLayoutGap = "10px"
     fxLayoutGap.xs = "0">
  <div class = "item item-1" fxFlex = "100%"><app-messages></app-messages>
</div>
</div>

вот главная страница.html

<div class = "scrollable-item" fxFlex = "25%">
<app-parts-list></app-parts-list> //here is the list to scroll
  </div>
  <div class = "item" fxFlex = "75%">
<app-part-details></app-part-details>
  </div>

вот app.component.css

* {
  box-sizing: border-box; 
}
body {
  display: flex;
  min-height: 100vh;
  margin: 0;
}

.main {
   min-height: 0;

}

.scrollable-item {
  overflow: auto;

}

Я не знаком с CSS точно, так как это мой первый проект, который я разрабатываю. Проблема в том, что я не могу получить полосу прокрутки только для прокручиваемого элемента div, но я получил ее на всей странице, как только список будет заполнен.

Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Введение в 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. Это простой сайт, ничего вычурного. Основная цель -...
CSS: FlexBox
CSS: FlexBox
Ранее разработчики использовали макеты с помощью Position и Float. После появления flexbox сценарий полностью изменился.
2
0
448
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

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

Установка высоты для прокручиваемого элемента приведет к прокрутке только в этом div.

.scrollable-item {
  height: 100px; // required height
  overflow: auto;
}

Это правильный ответ, все равно спасибо, даже если поздно, я могу помочь другим

Maurizio Santovito 22.05.2020 11:12

@MaurizioSantovito Не могли бы вы принять мой ответ, если он решил вашу проблему. Спасибо!

Vna 25.06.2020 16:53

что, если вы хотите, чтобы прокручиваемый элемент занимал весь экран? Замена высоты в вашем ответе на height: 100hv не работает

Rémi Benoit 28.09.2021 01:03

Исправлено путем добавления 100 % к разделу body и основного контейнера (mat-drawer-container): stackblitz.com/edit/flex-layout-material-seed-sjt6gg

Rémi Benoit 28.09.2021 09:46

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