我正在使用 React 和 Material UI,我试图为表格的标题提供 10px 的 broder-radius,以便只有 TableHead 有圆角。问题是 border-radius 在 TableHead 上似乎根本不起作用,如您在此屏幕截图中所见:
代码(取自官方文档,我只是在 TableHead 中添加了样式):
<TableContainer>
<Table aria-label="customized table">
<TableHead style={{ backgroundColor: '#E2E2E2', borderRadius: '10px' }}>
<TableRow>
<TableCell>Dessert (100g serving)</TableCell>
<TableCell align="right">Calories</TableCell>
<TableCell align="right">Fat (g)</TableCell>
<TableCell align="right">Carbs (g)</TableCell>
<TableCell align="right">Protein (g)</TableCell>
</TableRow>
</TableHead>
<TableBody>
{rows.map((row) => (
<TableRow key={row.name}>
<TableCell component="th" scope="row">
{row.name}
</TableCell>
<TableCell align="right">{row.calories}</TableCell>
<TableCell align="right">{row.fat}</TableCell>
<TableCell align="right">{row.carbs}</TableCell>
<TableCell align="right">{row.protein}</TableCell>
</TableRow>
))}
</TableBody>
</Table>
</TableContainer>;
我如何完成这项工作?
据我所知,没有办法为整个tablerow设置border-radius,但是可以通过为第一个和最后一个单元格使用单独的半径来解决问题:
const { Table, TableBody, TableCell, TableContainer, TableHead, TableRow, Paper, makeStyles } = MaterialUI
const useStyles = makeStyles((theme) => ({
table: {
minWidth: 400,
},
thead: {
backgroundColor: 'lightgray',
'& th:first-child': {
borderRadius: '1em 0 0 1em'
},
'& th:last-child': {
borderRadius: '0 1em 1em 0'
}
}
}))
function createData(name, calories, fat, carbs, protein) {
return { name, calories, fat, carbs, protein }
}
const rows = [
createData('Frozen yoghurt', 159, 6.0, 24, 4.0),
createData('Ice cream sandwich', 237, 9.0, 37, 4.3),
createData('Eclair', 262, 16.0, 24, 6.0),
createData('Cupcake', 305, 3.7, 67, 4.3),
createData('Gingerbread', 356, 16.0, 49, 3.9),
]
const App = function () {
const classes = useStyles()
return (
<TableContainer component={Paper}>
<Table className={classes.table} aria-label="customized table">
<TableHead classes={{ root: classes.thead }}>
<TableRow>
<TableCell>Dessert (100g serving)</TableCell>
<TableCell align="right">Calories</TableCell>
<TableCell align="right">Fat (g)</TableCell>
<TableCell align="right">Carbs (g)</TableCell>
<TableCell align="right">Protein (g)</TableCell>
</TableRow>
</TableHead>
<TableBody>
{rows.map((row) => (
<TableRow key={row.name}>
<TableCell component="th" scope="row">{row.name}</TableCell>
<TableCell align="right">{row.calories}</TableCell>
<TableCell align="right">{row.fat}</TableCell>
<TableCell align="right">{row.carbs}</TableCell>
<TableCell align="right">{row.protein}</TableCell>
</TableRow>
))}
</TableBody>
</Table>
</TableContainer>
)}
ReactDOM.render(<App />, document.getElementById('root'))
<script src="https://unpkg.com/[email protected]/umd/react.development.js"></script>
<script src="https://unpkg.com/[email protected]/umd/react-dom.development.js"></script>
<script src="https://unpkg.com/@material-ui/[email protected]/umd/material-ui.development.js"></script>
<div id="root"></div>
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句