You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:MUI Table无响应式效果,需设置百分比宽度

为MUI Table设置百分比宽度实现响应式

我正在使用MUI Table组件,该组件默认不具备响应式效果,需要为其设置百分比宽度来适配不同屏幕尺寸。以下是不同屏幕尺寸下的显示效果:

大屏下的Table显示

小屏下的Table显示

解决方案

1. 为表格容器设置100%宽度

将Table包裹在TableContainer中,给容器设置100%宽度,让表格自动填充父容器:

import Table from '@mui/material/Table';
import TableContainer from '@mui/material/TableContainer';

<TableContainer sx={{ width: '100%' }}>
  <Table>
    {/* 你的表格结构(表头、表体等) */}
  </Table>
</TableContainer>

2. 直接为Table组件设置宽度

如果不需要TableContainer,也可以直接给Table设置100%宽度:

<Table sx={{ width: '100%' }}>
  {/* 表格内容 */}
</Table>

3. 为每列设置自定义百分比宽度

如果需要精细控制每一列的占比,直接在TableCell上设置宽度:

import TableCell from '@mui/material/TableCell';
import TableRow from '@mui/material/TableRow';
import TableHead from '@mui/material/TableHead';

<TableHead>
  <TableRow>
    <TableCell sx={{ width: '20%' }}>ID</TableCell>
    <TableCell sx={{ width: '35%' }}>名称</TableCell>
    <TableCell sx={{ width: '25%' }}>分类</TableCell>
    <TableCell sx={{ width: '20%' }}>操作</TableCell>
  </TableRow>
</TableHead>

4. 结合响应式断点适配小屏

针对不同屏幕尺寸调整列宽和换行规则,使用MUI的响应式断点:

<TableCell 
  sx={{ 
    width: { xs: '100%', sm: '20%' }, // 小屏占满宽度,大屏占20%
    whiteSpace: { xs: 'normal', sm: 'nowrap' } // 小屏自动换行,大屏不换行
  }}
>
  ID
</TableCell>

内容的提问来源于stack exchange,提问作者yogaprasanth

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 22:54:18