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

Bootstrap 5.3中如何将条纹表格最后两行背景设为白色

Bootstrap 5.3中如何将条纹表格最后两行背景设为白色

嘿,我太懂你遇到的这个坑了!之前你尝试的几种方法没生效,核心原因是Bootstrap 5的table-striped样式不是给<tr>本身设置背景色,而是通过.table-striped>tbody>tr:nth-of-type(odd)>*这个选择器,直接给<tr>里面的<td>、<th>这些单元格加条纹背景。所以你给<tr>加bg-white或者自定义类,都会被单元格上的条纹样式盖过去,自然看不到效果~

下面给你两种简单可行的解决方案,选你顺手的用就行:

方案一:直接给单元格加Bootstrap工具类(无需自定义CSS)

既然条纹样式是作用在单元格上的,那我们直接给最后两行的所有<td>、<th>加上bg-white工具类就行,简单粗暴:

<tr>
  <td class="border-0 bg-white"></td>
  <td class="border-0 bg-white"></td>
  <th class="border-0 text-end bg-white"> Cash </th>
  <td class="border-0 text-end bg-white"> $9,513.12 </td>
</tr>
<tr>
  <td class="border-0 bg-white"></td>
  <td class="border-0 bg-white"></td>
  <th class="border-0 text-end bg-white"> TOTAL </th>
  <td class="border-0 text-end bg-white"> $10,000.00 </td>
</tr>

方案二:自定义CSS类(更优雅,适合批量修改)

如果不想给每个单元格都加类,我们可以写一段自定义CSS,精准选中最后两行的所有单元格,覆盖条纹样式:

写法1:直接定位最后两行

在<head>里加一个<style>标签,写入以下样式:

/* 选中tbody最后两行的所有单元格,用Bootstrap内置变量保证颜色统一 */
.table-striped tbody tr:nth-last-child(2) *,
.table-striped tbody tr:last-child * {
  background-color: var(--bs-white);
}

写法2:给目标行加专属类

先给最后两行的<tr>加一个专属类(比如no-stripe):

<tr class="no-stripe">
  <td class="border-0"></td>
  <td class="border-0"></td>
  <th class="border-0 text-end"> Cash </th>
  <td class="border-0 text-end"> $9,513.12 </td>
</tr>
<tr class="no-stripe">
  <td class="border-0"></td>
  <td class="border-0"></td>
  <th class="border-0 text-end"> TOTAL </th>
  <td class="border-0 text-end"> $10,000.00 </td>
</tr>

然后在<head>的<style>里写对应样式:

.table-striped tbody tr.no-stripe * {
  background-color: var(--bs-white);
}

完整修改后的代码示例

这里用方案二的专属类写法,给你贴出完整可运行的代码:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="initial-scale=1, width=device-width">
  <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous">
  <title> Example code </title>
  <style>
    .table-striped tbody tr.no-stripe * {
      background-color: var(--bs-white);
    }
  </style>
</head>
<body>
  <main class="container py-5 text-center">
    <div class="container">
      <div class="row justify-content-center">
        <table class="table table-striped w-75 p-3 justify-content-center">
          <thead>
            <tr>
              <th class="text-start">Symbol</th>
              <th class="text-end">Shares</th>
              <th class="text-end">Price</th>
              <th class="text-end">TOTAL</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td class="text-start"> NFLX </td>
              <td class="text-end"> 1 </td>
              <td class="text-end"> $486.88 </td>
              <td class="text-end"> $486.88 </td>
            </tr>
            <tr class="no-stripe">
              <td class="border-0"></td>
              <td class="border-0"></td>
              <th class="border-0 text-end"> Cash </th>
              <td class="border-0 text-end"> $9,513.12 </td>
            </tr>
            <tr class="no-stripe">
              <td class="border-0"></td>
              <td class="border-0"></td>
              <th class="border-0 text-end"> TOTAL </th>
              <td class="border-0 text-end"> $10,000.00 </td>
            </tr>
          </tbody>
        </table>
      </div>
    </div>
  </main>
</body>
</html>

这样修改后,最后两行的背景就会变成纯净的白色,完全不受条纹样式的影响,和你想要的效果一致啦~

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.08 13:58:00