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

React组件中使用Tailwind设置表格圆角失效的解决办法

解决Tailwind React表格圆角不生效的问题

直接给table元素加rounded-lg不生效,核心原因是**border-collapse模式下,表格子元素(thead、tbody、tr、td/th)的边框会覆盖table本身的圆角样式**。以下是快速修复方案:

关键修改步骤

  • 给包裹table的外层div添加rounded-lg和overflow-hidden类,通过容器裁剪内部表格内容,实现整体圆角效果
  • 移除table元素上的rounded-lg类

修改后的完整代码

"use client";

import { useTimeContext } from "@/context/TimeContext";
import formatTime from "@/utils/formatTime";
import { useEffect } from "react";

export default function LapTable() {
  const { stoppedTime, laps, setLaps } = useTimeContext();

  useEffect(() => {
    if (stoppedTime !== 0) {
      setLaps((prevLaps: any) => [...prevLaps, stoppedTime]);
    }
  }, [stoppedTime, setLaps]);

  return (
    <div className="mt-5 mb-10 w-[540px] rounded-lg overflow-hidden">
      <table className="w-full border-collapse border-gray-400 text-center">
        <thead>
          <tr className="bg-gray-200">
            <th className="border border-gray-400 px-4 py-2 w-1/2">Lap</th>
            <th className="border border-gray-400 px-4 py-2 w-1/2">Time</th>
          </tr>
        </thead>
        <tbody>
          {laps.map((lapTime, index) => (
            <tr key={index}>
              <td className="border border-gray-400 px-4 py-2 w-1/2">{index + 1}</td>
              <td className="border border-gray-400 px-4 py-2 w-1/2">{formatTime(lapTime)}</td>
            </tr>
          ))}
        </tbody>
      </table>
    </div>
  );
}

原理说明

外层div的overflow-hidden会把表格超出圆角范围的部分裁剪掉,配合rounded-lg就能让整个表格呈现圆角效果,同时保留border-collapse的边框合并特性,不会破坏原有表格的样式结构。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 00:35:24