使用 vxe-table 修改css默认样式,修改边框背景色,单元格默认高度详细说明

news/2025/2/22 19:57:06/文章来源:https://www.cnblogs.com/qaz666/p/18728917

使用 vxe-table 修改css默认样式,修改边框背景色,单元格默认高度详细说明
由于项目的需求,可能需要对默认的表格样式就行修改覆盖,但是又不想影响到原有的功能,这时候就可以通过自带的 css 变量来修改样式,非常简单就能修改。

通过 css 变量可以非常灵活的实现局部修改,当个表格修改、全局修改样式。

查看官网:https://vxetable.cn
gitbub:https://github.com/x-extends/vxe-table
gitee:https://gitee.com/x-extends/vxe-table

背景色

--vxe-ui-table-header-background-color对应表头背景色
--vxe-ui-table-footer-background-color对应表尾背景色
在这里插入图片描述

<template><div><vxe-radio-group v-model="headerBgColor"><vxe-radio-button label="" content="默认"></vxe-radio-button><vxe-radio-button label="#f3cccc" content="红色"></vxe-radio-button><vxe-radio-button label="#cbcbef" content="蓝色"></vxe-radio-button></vxe-radio-group><vxe-radio-group v-model="footerBgColor"><vxe-radio-button label="" content="默认"></vxe-radio-button><vxe-radio-button label="#fbe8d7" content="橙色"></vxe-radio-button><vxe-radio-button label="#fbd7f8" content="紫色"></vxe-radio-button></vxe-radio-group><vxe-gridv-bind="gridOptions":style="{'--vxe-ui-table-header-background-color': headerBgColor,'--vxe-ui-table-footer-background-color': footerBgColor}"></vxe-grid></div>
</template><script setup>
import { ref, reactive } from 'vue'const headerBgColor = ref('')
const footerBgColor = ref('')const gridOptions = reactive({border: true,showFooter: true,columns: [{ field: 'seq', type: 'seq', width: 70 },{ field: 'name', title: 'Name' },{ field: 'sex', title: 'Sex' },{ field: 'age', title: 'Age' }],data: [{ id: 10001, name: 'Test1', role: 'Develop', sex: 'Man', age: 28, address: 'test abc' },{ id: 10002, name: 'Test2', role: 'Test', sex: 'Women', age: 22, address: 'Guangzhou' },{ id: 10003, name: 'Test3', role: 'PM', sex: 'Man', age: 32, address: 'Shanghai' },{ id: 10004, name: 'Test4', role: 'Designer', sex: 'Women', age: 24, address: 'Shanghai' }],footerData: [{ seq: '合计', name: '777', sex: '333', age: '111' }]
})
</script>

表格字体

--vxe-ui-font-size-default对应默认 size= 时的字体大小
--vxe-ui-font-size-medium对应默认 size=medium 时的字体大小
--vxe-ui-font-size-small对应默认 size=small 时的字体大小
--vxe-ui-font-size-mini对应默认 size=mini 时的字体大小

在这里插入图片描述

<template><div><vxe-radio-group v-model="gridOptions.size"><vxe-radio-button label="" content="默认"></vxe-radio-button><vxe-radio-button label="medium" content="中"></vxe-radio-button><vxe-radio-button label="small" content="小"></vxe-radio-button><vxe-radio-button label="mini" content="迷你"></vxe-radio-button></vxe-radio-group><vxe-grid class="my-table-font-size" v-bind="gridOptions"></vxe-grid></div>
</template><script setup>
import { reactive } from 'vue'const gridOptions = reactive({border: true,showFooter: true,size: '',columns: [{ field: 'seq', type: 'seq', width: 70 },{ field: 'name', title: 'Name' },{ field: 'sex', title: 'Sex' },{ field: 'age', title: 'Age' }],data: [{ id: 10001, name: 'Test1', role: 'Develop', sex: 'Man', age: 28, address: 'test abc' },{ id: 10002, name: 'Test2', role: 'Test', sex: 'Women', age: 22, address: 'Guangzhou' },{ id: 10003, name: 'Test3', role: 'PM', sex: 'Man', age: 32, address: 'Shanghai' },{ id: 10004, name: 'Test4', role: 'Designer', sex: 'Women', age: 24, address: 'Shanghai' }],footerData: [{ seq: '合计', name: '777', sex: '333', age: '111' }]
})</script><style lang="scss" scoped>
.my-table-font-size {--vxe-ui-font-size-default: 18px;--vxe-ui-font-size-medium: 16px;--vxe-ui-font-size-small: 14px;--vxe-ui-font-size-mini: 12px;
}
</style>

字体颜色

--vxe-ui-table-header-font-color对应表头字体颜色
--vxe-ui-table-footer-font-color对应表尾字体颜色

在这里插入图片描述

<template><div><vxe-color-picker v-model="headerColor" :colors="colorList" clearable></vxe-color-picker><vxe-color-picker v-model="bodyColor" :colors="colorList" clearable></vxe-color-picker><vxe-color-picker v-model="footerColor" :colors="colorList" clearable></vxe-color-picker><vxe-gridv-bind="gridOptions":style="{'--vxe-ui-font-color': bodyColor,'--vxe-ui-table-header-font-color': headerColor,'--vxe-ui-table-footer-font-color': footerColor}"></vxe-grid></div>
</template><script setup>
import { ref, reactive } from 'vue'const headerColor = ref('#00BFFF')
const bodyColor = ref('#FF0000')
const footerColor = ref('#7CFC00')const colorList = ref(['#DC143C', '#FF1493', '#FF00FF', '#9932CC', '#6A5ACD','#0000FF', '#00008B', '#778899', '#1E90FF', '#00BFFF','#5F9EA0', '#00FFFF', '#008080', '#7FFFAA', '#3CB371','#8FBC8F', '#008000', '#7CFC00', '#556B2F', '#FFFFE0','#FFFF00', '#808000', '#EEE8AA', '#FFD700', '#FFA500','#FF4500', '#FA8072', '#FF0000', '#800000', '#C0C0C0'
])const gridOptions = reactive({border: true,showFooter: true,columns: [{ field: 'seq', type: 'seq', width: 70 },{ field: 'name', title: 'Name' },{ field: 'sex', title: 'Sex' },{ field: 'age', title: 'Age' }],data: [{ id: 10001, name: 'Test1', role: 'Develop', sex: 'Man', age: 28, address: 'test abc' },{ id: 10002, name: 'Test2', role: 'Test', sex: 'Women', age: 22, address: 'Guangzhou' },{ id: 10003, name: 'Test3', role: 'PM', sex: 'Man', age: 32, address: 'Shanghai' },{ id: 10004, name: 'Test4', role: 'Designer', sex: 'Women', age: 24, address: 'Shanghai' }],footerData: [{ seq: '合计', name: '777', sex: '333', age: '111' }]
})
</script>

单元格边框

--vxe-ui-table-border-color对应表格边框颜色
--vxe-ui-table-border-width对应表格边框宽度

在这里插入图片描述

<template><div><vxe-radio-group v-model="borderColor"><vxe-radio-button label="" content="默认"></vxe-radio-button><vxe-radio-button label="#ff0000" content="红色"></vxe-radio-button><vxe-radio-button label="#0000ff" content="蓝色"></vxe-radio-button></vxe-radio-group><vxe-radio-group v-model="borderWidth"><vxe-radio-button label="1px" content="1px"></vxe-radio-button><vxe-radio-button label="2px" content="2px"></vxe-radio-button><vxe-radio-button label="3px" content="3px"></vxe-radio-button></vxe-radio-group><vxe-gridv-bind="gridOptions":style="{'--vxe-ui-table-border-color': borderColor,'--vxe-ui-table-border-width': borderWidth}"></vxe-grid></div>
</template><script setup>
import { ref, reactive } from 'vue'const borderColor = ref('')
const borderWidth = ref('1px')const gridOptions = reactive({border: true,showFooter: true,columns: [{ field: 'seq', type: 'seq', width: 70 },{ field: 'name', title: 'Name' },{ field: 'sex', title: 'Sex' },{ field: 'age', title: 'Age' }],data: [{ id: 10001, name: 'Test1', role: 'Develop', sex: 'Man', age: 28, address: 'test abc' },{ id: 10002, name: 'Test2', role: 'Test', sex: 'Women', age: 22, address: 'Guangzhou' },{ id: 10003, name: 'Test3', role: 'PM', sex: 'Man', age: 32, address: 'Shanghai' },{ id: 10004, name: 'Test4', role: 'Designer', sex: 'Women', age: 24, address: 'Shanghai' }],footerData: [{ seq: '合计', name: '777', sex: '333', age: '111' }]
})
</script>

单元格高度

--vxe-ui-table-row-height-default对应 size= 时的单元格默认高度
--vxe-ui-table-row-height-medium对应 size=medium 时的单元格默认高度
--vxe-ui-table-row-height-small: 40px对应 size=small 时的单元格默认高度
--vxe-ui-table-row-height-mini: 20px对应 size=mini 时的单元格默认高度

在这里插入图片描述

<template><div><vxe-radio-group v-model="gridOptions.size"><vxe-radio-button label="" content="默认"></vxe-radio-button><vxe-radio-button label="medium" content="中"></vxe-radio-button><vxe-radio-button label="small" content="小"></vxe-radio-button><vxe-radio-button label="mini" content="迷你"></vxe-radio-button></vxe-radio-group><vxe-grid class="my-table-row-height" v-bind="gridOptions"></vxe-grid></div>
</template><script setup>
import { reactive } from 'vue'const gridOptions = reactive({border: true,showFooter: true,size: '',columns: [{ field: 'seq', type: 'seq', width: 70 },{ field: 'name', title: 'Name' },{ field: 'sex', title: 'Sex' },{ field: 'age', title: 'Age' }],data: [{ id: 10001, name: 'Test1', role: 'Develop', sex: 'Man', age: 28, address: 'test abc' },{ id: 10002, name: 'Test2', role: 'Test', sex: 'Women', age: 22, address: 'Guangzhou' },{ id: 10003, name: 'Test3', role: 'PM', sex: 'Man', age: 32, address: 'Shanghai' },{ id: 10004, name: 'Test4', role: 'Designer', sex: 'Women', age: 24, address: 'Shanghai' }],footerData: [{ seq: '合计', name: '777', sex: '333', age: '111' }]
})
</script><style lang="scss" scoped>
.my-table-row-height {--vxe-ui-table-row-height-default: 80px;--vxe-ui-table-row-height-medium: 60px;--vxe-ui-table-row-height-small: 40px;--vxe-ui-table-row-height-mini: 20px;
}
</style>

https://gitee.com/x-extends/vxe-table

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/887520.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

新能源电池生产借助ProfiNet转EtherNet/IP实战全解

一、案例背景在竞争激烈的新能源汽车行业中,电池作为核心部件,其生产质量直接决定了整车性能。在某新能源汽车电池生产线上,一套精密的生产流程正在有序运转。然而,一个不容忽视的问题出现了:生产线中采用EtherNet/IP协议的电池检测设备,与采用ProfiNet协议的生产线控制…

Oracle卸载安装问题

甲骨文数据库19c安装程序[INS-35075]已存在具有指定标识符的数据库实例。 解决: 第二步:运行regedit,选择HKEY_LOCAL_MACHINE > SOFTWARE > ORACLE,按del键删除这个入口第三步:运行regedit,选择HKEY_LOCAL_MACHINE SYSTEM > CurrentControlSet > Services,滚…

Affinity Publisher 2.6.0 (macOS, Windows) - 页面布局和设计的强大平台

Affinity Publisher 2.6.0 (macOS, Windows) - 页面布局和设计的强大平台Affinity Publisher 2.6.0 (macOS, Windows) - 页面布局和设计的强大平台 Page layout & design powerhouse 请访问原文链接:https://sysin.org/blog/affinity-publisher/ 查看最新版。原创作品,转…

Affinity Photo 2.6.0 (macOS, Windows) - 梦寐以求的照片编辑器

Affinity Photo 2.6.0 (macOS, Windows) - 梦寐以求的照片编辑器Affinity Photo 2.6.0 (macOS, Windows) - 梦寐以求的照片编辑器 The photo editing software youve been dreaming of 请访问原文链接:https://sysin.org/blog/affinity-photo/ 查看最新版。原创作品,转载请保…

Affinity Designer 2.6.0 (macOS, Windows) - 制作最精美的插图和设计

Affinity Designer 2.6.0 (macOS, Windows) - 制作最精美的插图和设计Affinity Designer 2.6.0 (macOS, Windows) - 制作最精美的插图和设计 Illustration & graphic design software at its best 请访问原文链接:https://sysin.org/blog/affinity-designer/ 查看最新版。…

大模型硬件模型选型指南

大模型一体机行业内幕 DeepSeek大模型一体机特点:私有化部署、交付容易、价格低廉,适合内网IT改造和CIO们的创新选择,也是目前被疯抢的原因。 大模型一体机从功能上要分ABC三类:A类:主要是硬件就是机头+AI卡,组成的纯纯的AI硬件服务器。B类:在A类的技术上加上Deepseek模…

DeepSeek本地性能调优

对于本地模型的加载来说,除了使用KTransformer等工具进行指令集层面的优化之外,还可以调整模型加载层数,做一个简单的优化。这里提供了一个num_gpu和num_ctx参数调整的策略,实测Tokens性能最大可优化10倍左右。技术背景 大模型性能调优是一个很复杂的工程,涉及到很多细节,…

开箱即用!一条命令部署雷池WAF,安全从此“躺平”

作者:HACK之道Web应用已成为企业的核心入口,但随之而来的SQL注入、XSS攻击、爬虫窃密等问题层出不穷。传统WAF依赖规则库的被动防御模式,面对自动化工具和0day漏洞时显得捉襟见肘。长亭雷池WAF(SafeLine)凭借“动态防护”和“智能语义分析”两大核心技术,重新定义了Web应…

Beszel搭建和使用

官网 https://beszel.dev/zh/ 简介 Beszel 是一个轻量级的服务器监控平台,包含 Docker 统计信息、历史数据和警报功能。 它拥有友好的 Web 界面、简单的配置,并且开箱即用。它支持自动备份、多用户、OAuth 身份验证和 API 访问。环境查看 系统环境# cat /etc/redhat-release …

定制化流程,私有化未来:工作流管理软件的私有化转型之路

工作流管理软件私有化是指将工作流管理软件部署在组织内部的私有服务器或专有云环境中,以确保数据的安全性、隐私性和组织的完全控制权。以下是对工作流管理软件私有化的详细分析: 一、私有化的优势 数据安全: ○ 私有化部署确保所有数据存储在组织内部的服务器或私有云中,…

京东零售数据资产能力升级与实践

开篇 京东自营和商家自运营模式,以及伴随的多种运营视角、多种组合计算、多种销售属性等数据维度,相较于行业同等量级,数据处理的难度与复杂度都显著增加。如何从海量的数据模型与数据指标中提升检索数据的效率,降低数据存算的成本,提供更可信的数据内容和多种应用模式快速…

【稳定性】稳定性建设之依赖设计

背景 随着分布式微服务的发展,一个普通的应用可能会依赖于许多其他服务,这给系统的限流降级、优化改造等操作带来了困难。在没有明确强弱依赖关系的情况下,我们很难有效地进行这些操作。为了解决这个问题,强弱依赖治理成为了一种科学的手段。通过强弱依赖治理,我们可以持续…