vxe-table 表格样式调整

本文介绍了一种使用VxeTable组件进行表格样式定制的方法,包括调整表头背景色、表格行高、单元格背景颜色、文字颜色及位置等,特别适合非专业前端人员快速实现美观的表格展示。

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

首先上图,简单截了个图,下图为调整后的样式,其实就是按界面环境,对表格颜色、字号、行高进行了简单修改,对我一个非专业前端来说,凑合着用吧。
在这里插入图片描述
表格代码如下:

<vxe-table :data="fztzList"  height='150px'  border>
    <vxe-table-column field="名称" title="名称" />            
	<vxe-table-column field="类型" title="类型"  width="150"/>
	<vxe-table-column field="调整量" title="调整量"  width="80"/>
</vxe-table>

样式代码如下:

/*修改表头背景色*/
.vxe-table--header-wrapper,.vxe-header--row,.vxe-table--header{
    background-color: #2C3846;
}


/*调整表格行高*/
.vxe-table .vxe-body--column:not(.col--ellipsis), .vxe-table .vxe-footer--column:not(.col--ellipsis), .vxe-table .vxe-header--column:not(.col--ellipsis) {
    padding: 5px 0;
}
/*调整表格 单元格背景颜色*/
.vxe-table .vxe-table--body-wrapper, .vxe-table .vxe-table--footer-wrapper {
    background-color: #1B2838;
}
/*调整表格文字及位置*/
.vxe-table .vxe-body--column, .vxe-table .vxe-footer--column, .vxe-table .vxe-header--column {
    position: relative;
    line-height: 24px;
    text-align: center;
    color: #ffffff;
}
/*调整表头首行  line 的颜色*/
.vxe-table .vxe-table--header-wrapper .vxe-table--header-border-line {
    position: absolute;
    left: 0;
    bottom: 0;
    height: 0;
    border-bottom: 1px solid #e8eaec;
}

.vxe-body--row.row--hover{
    background-color: rgba(255,255,255,0.3) !important;
}


/*表格滚动条样式*/
.vxe-table--body-wrapper::-webkit-scrollbar{
    width: 8px;
}
.vxe-table--body-wrapper::-webkit-scrollbar-thumb{
    border-radius: 5px;
    height: 50px;
    background-color: #5C6974 !important;
    border-radius: 30px !important;
}
.vxe-table--body-wrapper::-webkit-scrollbar-track{
    box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2);
    border-radius: 2px;
    background: rgba(0,0,0,0.4);
}


.vxe-table.border--default .vxe-table--header-wrapper, .vxe-table.border--full .vxe-table--header-wrapper, .vxe-table.border--outer .vxe-table--header-wrapper {
    background-color: #113238;

}

/*有垂直 垂直下拉时  右上角处多出块状 背景色调整*/
.vxe-table--header-wrapper{
  background-color: transparent !important;
}
### 修改 `vxe-table` 表格字体颜色并通过局部样式覆盖 在使用 `vxe-table` 组件时,如果需要调整表格的字体颜色,并且希望这种修改仅限于局部而不影响全局样式,则可以通过以下方法实现。 #### 方法一:利用作用域样式 (Scoped Styles) Vue 单文件组件(SFC)提供了 `<style scoped>` 功能,用于限制样式的生效范围。通过为 `vxe-table` 添加自定义类名,并结合该类名设置字体颜色,可以达到局部样式覆盖的目的[^1]。 ##### 示例代码 ```vue <template> <div class="custom-table-container"> <vxe-table :data="tableData" class="custom-font-color"></vxe-table> </div> </template> <style scoped> /* 定义局部样式 */ .custom-table-container .custom-font-color .vxe-cell { color: darkred; /* 设置字体颜色为深红色 */ } </style> ``` 在此示例中,`.custom-table-container` 是包裹层的唯一标识符,而 `.custom-font-color` 则被附加到 `vxe-table` 上以区分其他表格实例。最终,所有属于此表格的内容都会继承指定的字体颜色。 --- #### 方法二:使用深嵌选择器 (`>>>`) 覆盖深层样式 由于 `vxe-table` 的内部结构较为复杂,默认情况下无法直接通过 Scoped CSS 影响其子元素。此时可引入 Vue 提供的深嵌选择器 `/deep/` 或 `>>>` 来穿透作用域边界[^2]。 ##### 示例代码 ```vue <template> <div class="custom-table-container"> <vxe-table :data="tableData"></vxe-table> </div> </template> <style scoped> /* 使用深嵌选择器覆盖字体颜色 */ .custom-table-container >>> .vxe-cell { color: navy; /* 字体颜色改为海军蓝 */ } </style> ``` 注意:不同构建工具对深嵌选择器的支持略有差异。例如,在 PostCSS 中建议优先使用 `/deep/` 替代 `>>>`。 --- #### 方法三:基于 `[data-vxe-ui-theme=light]` 进行主题级覆盖 当项目启用了 `vxe-ui` 主题机制时,可通过检测 `[data-vxe-ui-theme=light]` 数据属性来实施更加精确的主题适配。这种方式尤其适用于需根据不同主题切换外观的应用场景[^3]。 ##### 示例代码 ```css /* 针对轻量主题下的字体颜色调整 */ [data-vxe-ui-theme=light] .custom-table-container .vxe-cell { color: forestgreen !important; /* 强制设定森林绿色 */ } ``` 将上述规则嵌入至 `<style>` 块内即可完成配置。其中,`!important` 关键字确保了本地声明优于默认值或其他潜在冲突源。 --- #### 方法四:动态绑定内联样式 对于高度动态化的场景,可以直接通过 JavaScript 计算所需参数并将其注入为目标节点上的 inline-style 属性。尽管这种方法灵活性较高,但在维护成本方面相对较低效[^4]。 ##### 示例代码 ```vue <template> <vxe-table :data="tableData" :cell-class="{ customFontColor }"></vxe-table> </template> <script> export default { data() { return { tableData: [ { name: 'John', age: 25 }, { name: 'Doe', age: 30 } ], customFontColor: 'purple' }; } }; </script> ``` 此处展示了如何借助 `cell-class` API 将个性化样式传递给单元格对象集合的过程。 --- ###
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

悟●禅●酒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值