前端基础学习-element-ui表格表头做成斜线表头

这篇博客展示了如何通过CSS对二级表头进行样式修改,创建类似表头斜线的效果。HTML代码中定义了一个包含多个列的表格,而CSS部分通过选择器 `.el-table thead.is-group th` 等,利用伪元素和旋转技巧实现了斜线效果。这种方法适用于具有二级表头的表格,且需要注意CSS不应放在scope中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这部分代码样式部分参照表头斜线
首先上效果图
在这里插入图片描述
这里主要是针对二级表头对其样式进行选择修改,这里需要注意一定要是二级表头才能做出这样的效果
在这里插入图片描述
html代码

        <el-table  :data="slashList" border height="400">
          <el-table-column label="信息" show-overflow-tooltip width="140" align="right">
            <el-table-column prop="title" label="标题" show-overflow-tooltip width="120" align="left"></el-table-column>
          </el-table-column>
          <el-table-column prop="url" label="请求地址" show-overflow-tooltip></el-table-column>
          <el-table-column prop="name" label="操作人" show-overflow-tooltip></el-table-column>
          <el-table-column prop="date" label="时间" show-overflow-tooltip></el-table-column>
        </el-table>

这里的表格数据是通过mock模拟的,前面博文有说过,就不再赘述了
css代码
这部分主要参照了开头引入的链接,注意不要放在scope中

<style>
.el-table thead.is-group th {
  background: none;
}
.el-table thead.is-group tr:first-of-type th:first-of-type {
  border-bottom: none;
}
.el-table thead.is-group tr:first-of-type th:first-of-type:before {
  content: '';
  position: absolute;
  width: 1px;
  height: 100px;
  top: 0;
  left: 0;
  background-color: grey;
  opacity: 0.3;
  display: block;
  transform: rotate(-57deg);
  transform-origin: top;
}
.el-table thead.is-group tr:last-of-type th:first-of-type:before {
  content: '';
  position: absolute;
  width: 1px;
  height: 100px;
  bottom: 0;
  right: 0;
  background-color: grey;
  opacity: 0.3;
  display: block;
  transform: rotate(-56deg);
  transform-origin: bottom;
}
</style>
element-ui表格el-table本身并不支持动态合并单元格(行和列),但可以通过自定义表格的slot-scope和span-method来实现动态合并单元格的功能。首先,我们需要在表格定义时添加span-method属性,并指定一个方法来计算单元格的合并行数和列数。例如: ```html <el-table :data="tableData" :span-method="mergeCells"> ... </el-table> ``` 然后,在methods中定义mergeCells方法来计算单元格的合并行数和列数。该方法有四个参数分别是({row, column, rowIndex, columnIndex}),我们可以根据需要通过判断行索引和列索引来返回合适的行数和列数,例如合并第一行的两列可以这样实现: ```javascript methods: { mergeCells({row, column, rowIndex, columnIndex}) { if (rowIndex === 0 && columnIndex < 2) { return { rowspan: 1, colspan: 2 }; } } } ``` 这样就实现了动态合并第一行的两个单元格。如果想要合并其他行或列,可以根据需要进行判断和返回。 给表头添加斜线可以通过自定义表头的样式来实现。可以通过CSS的`::before`或`::after`伪元素来添加斜线样式。例如,给第一列的表头添加斜线可以这样实现: ```html <el-table ...> <el-table-column label="姓名"> <template slot="header" slot-scope="scope"> <div class="header-wrapper"> <div class="header-content"> <span>{{scope.column.label}}</span> </div> </div> </template> </el-table-column> ... </el-table> ``` 然后在样式中定义斜线效果: ```css <style> .header-content::before { content: ""; display: block; border-bottom: 1px solid #333; transform: skew(-45deg); width: 80%; margin-left: 10%; } </style> ``` 这样就实现了给第一列的表头添加斜线的效果。可以根据需要调整斜线的样式和位置来达到期望的效果。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值