Я собираюсь создать несколько прокручиваемых столбцов с помощью пользовательского интерфейса материалов в React.У меня был способ сделать это в начальной загрузке с помощью flex, но я не могу заставить его перевести.Я собрал демонстрационный пример хакерского способа сделать это, который требует знания размера содержимого, превышающего то, что вы пытаетесь прокрутить (в данном случае AppBar)
https://codesandbox.io/s/pmly895mm
html,
body {
margin: 0;
height: 100%;
}
#root {
height: 100%;
}
.grid-container {
height: calc(100% - 64px);
}
.grid-column {
height: 100%;
overflow-y: auto;
}
В этой демонстрации я установил все высоты на 100% (html, body, #root), а затем создал два класса grid-container
с высотой 100% - высота AppBar и grid-column
с высотой100% и переполнение y.
В Bootstrap я бы применил эти классы к элементам row
и column
соответственно
.flex-section {
flex-grow: 1;
display: flex;
flex-direction: column;
min-height: 0;
}
.flex-col-scroll {
flex-grow: 1;
overflow: auto;
min-height: 100%;
}
И это не будетнезависимо от того, что было над элементами, потому что flex позаботился о высоте.
В частности, я стараюсь не делать height: calc(100% - 64px)
, так как это требует от меня знания высоты элемента заранее.У меня будет несколько страниц, на которых я бы хотел разместить контент над областью прокрутки, который будет иметь динамически высокий контент.