Используя React и Bulma столбцы, как сделать колонку вертикально прокручиваемой (overflow-y) с помощью css?
В приведенном ниже коде я просто получаю набор фильтров, которые отображаются в первом столбце благодаря компоненту «Фильтры». Затем я хочу отобразить список документов с помощью компонента DocumentListView. Это происходит во второй колонке.
Обратите внимание, что я добавил прокручиваемый класс во второй столбец, чтобы сделать этот столбец прокручиваемым по вертикали.
import React from 'react'
import Filters from './components/Filters/Filters'
import DocumentListView from './components/DocumentListView/DocumentListView'
import { fetchFilters } from './_actions'
import { connect } from 'react-redux'
import { BrowserRouter } from 'react-router-dom'
import './App.css'
class App extends React.Component {
componentDidMount() {
this.props.fetchFilters()
}
render() {
return (
<BrowserRouter>
<div className='App'>
<div className='columns'>
<div className='column is-one-fifth'>
<Filters />
</div>
<div className='column scrollable'>
{/* This column should be vertically scrollable */}
<DocumentListView />
</div>
<div className='column'></div>
</div>
</div>
</BrowserRouter>
)
}
}
const mapDispatchToProps = (dispatch) => {
return {
fetchFilters: () => dispatch(fetchFilters()),
}
}
export default connect(null, mapDispatchToProps)(App)
Вот файл App.css, который я использую:
html,
body {
width: 100% !important;
height: 100% !important;
max-height: 100%;
background-color: lightgray;
overflow: hidden;
}
.App {
width: 100%;
height: 100%;
padding: 2%;
}
.columns {
height: 100%;
}
.scrollable {
height: 100%;
width: 100%;
overflow-y: auto;
}
Спасибо за помощь.
добавить максимальную высоту в класс столбцов. так:-
.columns{
max-height: 200px;
}
если вы хотите, чтобы высота вашего центрального div зависела от его родного брата, сделайте следующее: -
.scrollable{
height: 100%;
position: relative;
}
.scrollable>div{
position: absolute;
height: 100%;
width: 100%;
left: 0;
top: 0;
overflow-y: auto
}
Я надеюсь, что это сработает
max-height 100% — это содержимое, которое содержит div. Это означает, что максимальная высота равна высоте div
Большое спасибо. Мне пришлось изменить максимальную высоту на 650 пикселей, чтобы вторая колонка использовала почти все пространство по вертикали. Почему я не могу установить максимальную высоту столбцов на 100%?