<div className='block justify-center flex flex-col h-screen py-8 px-48'>
<div className='flex'>
<Form />
</div>
<div className='flex-1'>
<div className='shadow-md flex flex-col'>
<div className='flex'>
<div className='flex w-full py-2 px-2 bg-white border-0'>
<div className='flex-1'>
<Searchbar />
</div>
<div className='flex'>
<Button />
</div>
</div>
</div>
<div className='overflow-auto flex-1'>
<Table />
</div>
</div>
</div>
</div>
字符串
下面是我的React页面组件的样子(使用Form,Searchbar,Button,Table作为其他组件)。我的问题是Table元素超过了父块的高度,并且溢出自动没有触发以保持它包含在块边界内。
经过大量的研究,我偶然发现使用flex和flex-1来让项目占用父div的剩余空间。据我(有限的)知识,我不明白我在这里的flex,flex-1,flex-col设置是如何不正确地导致表溢出的,除非flex不像我认为的那样工作。不幸的是,其他试图计算剩下的孩子身高的答案似乎取决于这样一个事实,即其他孩子的身高是固定的,不像我的孩子那样弯曲。
老实说,我对React和JavaScript都很陌生,所以任何帮助都很感激。谢谢!
表、表单和搜索栏/按钮组合体的行为和外观也完全符合我的要求,只是当表数据太多时,溢出不起作用,正如我所描述的
1条答案
按热度按时间vvppvyoh1#
你需要在
.shadow-md
元素的父元素上添加一个垂直的flex布局,这样它就可以被限制在父元素的高度上。此外,你需要将min-height: 0
应用到<Table>
的可压缩父元素上,以覆盖它们的默认min-height: min-content
,这样它们就可以收缩了:字符串