react把表格渲染好ui_ReactJS和MaterialUI:表格中所有列的宽度相等

Using ReactJS and MaterialUI I'm trying to have the same width for all columns of a Table.

I expected to have this as a default behavior when I'm not setting any width, but it's not the case: the last column is always smaller.

I've made a small example on codesandbox: https://codesandbox.io/s/18l6nn393q

Actually I could set the width of all columns to 33% and it would work for this specific case, but it gets complicated if the number of columns is variable.

What is the standard way to have columns of equal width using ReactJS and the Table of MaterialUI?

解决方案

I make column have width: 'calc(100%/3)' so it will have 3 equal width column

I made a CustomTableCell to contain common style width: 'calc(100%/3)'

const CustomTableCell = withStyles(theme => ({

root: {

width: 'calc(100%/3)'

}

}))(TableCell);

Result like this

Edit: after @flitz feedback my solution not work on FireFox. I made some change so it can better support with Firefox also

with this CustomTableCell

const CustomTableCell = withStyles(theme => ({

root: {

width: "calc(100vw/3)",

padding: "10px 24px",

display: "table-cell"

}

}))(TableCell);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值