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

如何在React中创建老式表格?border-collapse设置无效问题排查

解决React中老式表格样式的问题

你的问题在于原生HTML的border="1"属性会同时给<table>、<td>(以及<th>)都添加边框,而你当前的CSS只给<table>加了边框,单元格没有边框,所以没法呈现那种老式的网格效果。

只需修改你的CSS,给表格的单元格也加上边框,同时保留border-collapse: separate和border-spacing来还原原生样式的间距感:

修改后的CalendarTable.css:

.calendarTable {
    font-size: 13px;
    text-align: center;
    width: 50%;
    margin: auto;
    border: 1px solid black;
    border-collapse: separate;
    border-spacing: 2px; /* 这个值对应原生border="1"的默认间距 */
    height: 50%;
}

/* 给所有单元格添加边框 */
.calendarTable td, .calendarTable th {
    border: 1px solid black;
}

.calendarTableContainer {
    margin: 3px;
    width: calc(100% - 6px);
}

修改后的React组件不需要改动,保持原来的结构即可:

import "./CalendarTable.css";
export default function CalendarTable() {
    return (
        <div className="calendarTableContainer">
            <table className="calendarTable">
                <tr><td></td><td></td></tr>
                <tr><td></td><td></td></tr>
            </table>
        </div>
    )
}

这样修改后,表格就会和原生HTMLborder="1"的效果完全一致:外层有边框,每个单元格也有独立边框,单元格之间还有细微的间距,就是你要的老式表格风格。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 20:01:05