去除 el-input 输入框的边框(element-ui@2.15.13)

复制代码
dgq@dgqdeMac-mini spid-admin % yarn list --pattern element-ui
yarn list v1.22.22
└─ element-ui@2.15.13
✨  Done in 0.23s.

dgq@dgqdeMac-mini spid-admin % yarn list vue
yarn list v1.22.22
warning Filtering by arguments is deprecated. Please use the pattern option instead.
└─ vue@2.7.14
✨  Done in 0.24s.
html 复制代码
<el-input
  v-model="form.invitor"
  placeholder="PC端的自动取当前账号的手机号"
  readonly
  class="no-border-input"
/>

::v-deep 是一个与 Scoped 样式配合使用的特殊选择器,用于深度选择子组件的内部元素。默认情况下,在 Vue 的 Scoped 样式中,CSS 规则仅限于当前组件的范围内,无法直接作用于子组件的内部元素。而 ::v-deep 允许您突破这一限制,修改子组件内部的样式。

当您不使用 ::v-deep 时,样式只能应用于当前组件的 HTML 结构。即使您在 el-input 上添加了 no-border-input 类,样式也无法深入到 el-input 组件内部去除边框。

使用 ::v-deep 后,样式规则可以穿透组件边界,直接影响内部元素的样式。因此,通过添加 ::v-deep,您能够成功地去除 el-input 组件内部的边框。

css 复制代码
::v-deep(.no-border-input .el-input__inner) {
  border: none;
  box-shadow: none;
}

希望这解释清楚了为什么需要使用 ::v-deep 来实现样式的深度选择。

相关推荐
GuWenyue32 分钟前
排序效率低?5分钟吃透快速排序,性能飙升至O(nlogn)
前端·javascript·面试
OpenTiny社区34 分钟前
🎨 看完 GenUI SDK 源码我悟了!
前端·vue.js·github
何时梦醒42 分钟前
深入理解递归与快速排序 —— 从基础入门到手写实现
前端·javascript
bonechips1 小时前
LLM 的无状态:从 HTTP 协议到对话上下文工程
前端·javascript
胡志辉1 小时前
从 prototype 到 V8,看懂 JavaScript 原型链
前端·javascript
mqcode2 小时前
你项目里的 axios,封对了吗?从裸用到生产级的四步进化
vue.js·axios
ping某2 小时前
专栏-null 和 undefined 到底是什么?
前端·javascript·后端
Linsk4 小时前
组件 = 模板 + 业务逻辑
java·前端·vue.js
swipe5 小时前
从 0 到 1 理解 React 虚拟列表:定高、不定高与 Canvas 版本完整拆解
前端·javascript·面试
铁皮饭盒6 小时前
Bun执行python代码
前端·javascript·后端