性能场景:固定表头的地位不在浏览器顶端

办法一:

反对表中有合并单元格的状况下 兼容多个浏览器(包含ie)

实现逻辑通过定义两个table来实现

一个table只有thead
一个table只有tbody

> vue    <div class="table-head">        <b-table-simple fixed bordered>            <colgroup>              <col style="width:11%;" />              <col style="width:19%;" />              <col style="width:6%;" />              <col style="width:7%;" />            </colgroup>            <colgroup>              <col style="width:8%;" />              <col style="width:8%;" />              <col style="width:9%;" />              <col style="width:8%;" />              <col style="width:8%;" />              <col style="width:8%;" />              <col style="width:8%;" />            </colgroup>          <b-thead head-variant="dark" class="text-center">            <b-tr>              <b-th rowspan="2">第一行表头1</b-th>              <b-th rowspan="2">第一行表头2</b-th>              <b-th rowspan="2">第一行表头3</b-th>              <b-th rowspan="2">第一行表头4</b-th>              <b-th colspan="7">第一行表头5</b-th>            </b-tr>            <b-tr>              <b-th>第二行表头1</b-th>              <b-th>第二行表头2</b-th>              <b-th>第二行表头3</b-th>              <b-th>第二行表头4</b-th>              <b-th>第二行表头5</b-th>              <b-th>第二行表头6</b-th>              <b-th>第二行表头7</b-th>            </b-tr>          </b-thead>        </b-table-simple>      </div>      <div class="table-body">        <b-table-simple fixed striped bordered>            <colgroup>              <col style="width:11%;" />              <col style="width:19%;" />              <col style="width:6%;" />              <col style="width:7%;" />            </colgroup>            <colgroup>              <col style="width:8%;" />              <col style="width:8%;" />              <col style="width:9%;" />              <col style="width:8%;" />              <col style="width:8%;" />              <col style="width:8%;" />              <col style="width:8%;" />            </colgroup>          <b-tbody>            <template v-for="(item,i) in items">              <b-tr :key="i + 'odd'">                <b-td rowspan="2" style="height:58px;">内容1</b-td>                <b-td style="height:29px;">内容2</b-td>                <b-td class="text-center" style="height:29px;">内容3</b-td>                <b-td class="text-right" style="height:29px;">内容4</b-td>                <b-td class="text-right" style="height:29px;">内容5</b-td>                <b-td class="text-right" style="height:29px;">内容6</b-td>                <b-td class="text-right" style="height:29px;background-color:#FFEBD9;">                 内容7                </b-td>                <b-td class="text-right" style="height:29px;">内容8</b-td>                <b-td class="text-right" style="height:29px;">内容9</b-td>                <b-td class="text-right" style="height:29px;">内容10</b-td>                <b-td class="text-right" style="height:29px;">内容11</b-td>              </b-tr>              <b-tr :key="i + 'even'">                <b-td style="height:29px;">内容12</b-td>                <b-td class="text-center" style="height:29px;">内容13</b-td>                <b-td class="text-right" style="height:29px;">内容14</b-td>                <b-td class="text-right" style="height:29px;">内容15</b-td>                <b-td class="text-right" style="height:29px;">内容16</b-td>                <b-td class="text-right" style="height:29px;background-color:#FFEBD9;">                  <b>内容17</b>                </b-td>                <b-td class="text-right" style="height:29px;">内容18</b-td>                <b-td class="text-right" style="height:29px;">内容19</b-td>                <b-td class="text-right" style="height:29px;">内容20</b-td>                <b-td class="text-right" style="height:29px;">内容21</b-td>              </b-tr>            </template>          </b-tbody>        </b-table-simple>      </div>> css    .table-head {        .table-bordered {          border-bottom-width: 2px;        }    }    .table-body {        margin-top: -17px;        @media (min-width: 768px) {          max-height: 650px;        }        @media (min-width: 1024px) {          max-height: 350px;        }        &::-webkit-scrollbar {          display: none;        }        -ms-overflow-style: none;        overflow-y: auto;        .table-bordered {          border-top-width: 0px;        }    }

通过标签<colgroup>能够调整单元格的大小


办法二:

更新中