Element-plus修改样式

场景

通过样式穿透修改前端element组件样式。
实现

1.button按钮

::v-deep .el-button {

border-radius: 0;

border: 0;

background-color: rgba(0, 194, 255) !important;

color: black;

}

2.form表单

::v-deep .el-form {

text-align: left;

.el-form-item {

text-align: left;

.el-form-item__label {

color: skyblue;

text-align: left;

}

.el-form-item__content {

color: skyblue;

text-align: left;

}

}

}

  1. input

::v-deep .el-input {

width: 300px;

border: none;

.el-input__wrapper {

background-color: transparent !important;

border: none;

// border-color: rgba(37, 65, 125, 1) !important;

.el-input__inner {

color: skyblue;

}

}

}

  1. 内嵌过深的input以及type="textarea"的input

.el-input {

:deep(.el-input__wrapper) {

box-shadow: 0 0 0 0px var(--el-input-border-color, var(--el-border-color)) inset;

// 去除input白色边框

--el-input-text-color: skyblue; // 修改input输入框字体颜色

--el-input-icon-color: rgb(208, 192, 192); // 修改icon颜色

}

}
.el-textarea{

:deep(.el-textarea__inner) {

box-shadow: 0 0 0 0px var(--el-input-border-color, var(--el-border-color)) inset;

// 去除input白色边框

--el-input-text-color: skyblue; // 修改input输入框字体颜色

--el-input-icon-color: rgb(208, 192, 192); // 修改icon颜色

background-color: transparent !important;

resize: none;

}

}

5.table内部加入透明滚动条

::v-deep .el-table__inner-wrapper {

overflow-y: auto;

&::-webkit-scrollbar {

width: 4px; /* y轴滚动条宽度 /
height:4px; /
x轴滚动条宽度 */

background-color: #f5f5f5; /滚动条背景 /

}

另一种改变滚动条样式的方法:

:deep(.gantt_layout_content .gantt_task_vscroll) {

&::-webkit-scrollbar {

width: 14px;

height: 14px;

}

&::-webkit-scrollbar-thumb {

background-color: #345a75;

border-radius: 10px;

}

&::-webkit-scrollbar-track {

background-color: transparent;

}

}

最后,记录一种常见的报错,因不对element组件设置固定宽高而导致的视图大小变动弹出的计算错误

c 复制代码
ResizeObserver loop completed with undelivered notifications.

解决办法是将下列代码放置在引用该页面的父组件中,习惯放在js最后一行:

const debounce = (fn, delay) => {

let timer = null;

return function () {

let context = this;

let args = arguments;

clearTimeout(timer);

timer = setTimeout(function () {

fn.apply(context, args);

}, delay);

}

}

const _ResizeObserver = window.ResizeObserver;

window.ResizeObserver = class ResizeObserver extends _ResizeObserver{

constructor(callback) {

callback = debounce(callback, 16);

super(callback);

}

}

相关推荐
程序员爱钓鱼1 小时前
Python 编程实战 · 实用工具与库 — Flask 路由与模板
前端·后端·python
JIngJaneIL1 小时前
旅游|内蒙古景点旅游|基于Springboot+Vue的内蒙古景点旅游管理系统设计与实现(源码+数据库+文档)
java·vue.js·spring boot·论文·旅游·毕设·内蒙古景点旅游
麦麦大数据3 小时前
D038 vue+django西游记问答知识图谱可视化系统
vue.js·django·问答系统·知识图谱·neo4j·可视化·可是还
合作小小程序员小小店4 小时前
web开发,在线%超市销售%管理系统,基于idea,html,jsp,java,ssh,sql server数据库。
java·前端·sqlserver·ssh·intellij-idea
不爱学英文的码字机器5 小时前
重塑 Web 性能:用 Rust 与 WASM 构建“零开销”图像处理器
前端·rust·wasm
浩星5 小时前
react的框架UmiJs(五米)
前端·javascript·react.js
子醉7 小时前
推荐一种适合前端开发使用的解决本地跨域问题的办法
前端
Niyy_7 小时前
前端一个工程构建多个项目,记录一次工程搭建
前端·javascript
xiangxiongfly9158 小时前
CSS link标签
前端·css
岁月宁静9 小时前
AI 多模态全栈应用项目描述
前端·vue.js·node.js