修复 Element Plus (Vue3) 输入框获取焦点时边框消失的问题

修复 Element Plus (Vue3) 输入框获取焦点时边框消失的问题

在使用 Element Plus (适用于 Vue3)开发项目时,你可能会遇到这样一个问题:

<el-input> 组件获得焦点时,默认的聚焦边框样式没有正常显示,导致用户无法直观感知当前输入框处于激活状态。

问题原因

Element Plus 从某个版本开始,默认使用 box-shadow 而非 border 来实现输入框的聚焦高亮效果。但在某些自定义主题、CSS 重置或全局样式干扰下,聚焦时的 box-shadow 可能被覆盖或失效,从而造成"焦点边框消失"的现象。

解决方案

通过覆盖 Element Plus 的 .el-input__wrapper 样式,手动指定聚焦状态下的 box-shadow,即可恢复焦点边框效果。

✅ 修复代码(CSS)

css 复制代码
/* 修复默认边框样式 */
.el-input__wrapper {
  box-shadow: 0 0 0 1px #dcdfe6 inset;
  border-radius: 2px !important;
}

/* 修复获取焦点时的边框样式 */
.el-input__wrapper.is-focus {
  box-shadow: 0 0 0 1px var(--el-color-primary) inset !important;
}
相关推荐
每天吃饭的羊14 小时前
水平,垂直居中
前端·javascript·html
thankseveryday15 小时前
Three.js 把 Blender 绘制的曲线(Bezier / 曲线) 导入 Three.js 并作为运动路径 / 动画路径使用
开发语言·javascript·blender
许彰午15 小时前
Spring Boot + Vue 实现 XML 动态表单:固定字段 + 自由扩展方案
xml·vue.js·spring boot
前端那点事15 小时前
Vue并发控制|几十个请求高效管控(实战方案+可运行代码)
前端·vue.js
前端那点事16 小时前
Vue大批量接口请求优化|告别卡顿、超时!前端落地实战指南
前端·vue.js
空中海16 小时前
第四章:Vue Router
前端·javascript·vue.js
竹林81816 小时前
从零集成RainbowKit:我如何在一个周末搞定多链钱包连接并填平三个大坑
前端·javascript
2601_9534656116 小时前
M3U8 在线播放器:无需安装,一键调试 HLS 直播流
开发语言·前端·javascript·开发工具·m3u8·m3u8在线播放
Ruihong16 小时前
你写的是 Vue,跑起来是纯 React?这是什么黑科技
vue.js·react.js·面试
风止何安啊16 小时前
【前端续命术】请求总失败?给你的 AJAX 装上 “不死鸟” 重试 Buff
前端·javascript·面试