在开发过程中遇到需要去掉 el-input的边框,
这是element ui 官方文档的样式
在这里插入图片描述
而我们的需求是
在这里插入图片描述
不可行做法

<div class="inputDemo">
    <el-input></el-input>
</div>

通过实践,border: none; 或者 border: 0; 都行不通,即以下方法并不可行:
通过选择 el-input



elementUi中的el-input去掉border边框

在开发过程中遇到需要去掉 el-input的边框,使其满足ui要求,element-ui官网的el-input的样子如下:

elementUi中的el-input去掉border边框

但是我需要的是下面这种没有边框的效果:

elementUi中的el-input去掉border边框

不可行做法
例如这样一段代码来设置

<div class="inputDemo">
    <el-input></el-input>
</div>
通过实践,border: none; 或者 border: 0; 都行不通,即以下方法并不可行:

通过选择 el-input
.inputDemo el-input{
    border: none;
}
.inputDemo el-input{
    border: 0;
}

通过选择 input

.inputDemo input{
    border: none;
}
.inputDemo input{
    border: 0;
}

以上方法中,通过选中 .el-input__inner也不可行

在el-input组件中,是通过 .el-input__inner来设置边框的
解决办法

>>> 是vue的深度选择器,vue引用了第三方组件,需要在组件中局部修改第三方组件的样式,而又不想去除scoped属性造成组件之间的样式污染。此时只能通过 >>> ,穿透scoped。
>无任何依赖时,纯css写 >>> 是无效果哒

写法请遵循:父级>>>el-input
例子

<div class="inputDeep">
    <el-input></el-input>
</div>

css实现

  /* 利用穿透,设置input边框隐藏 */
  .inputDeep>>>.el-input__inner {
    border: 0;
  }
  /* 如果你的 el-input type 设置成textarea ,就要用这个了 */
  .inputDeep>>>.el-textarea__inner {
    border: 0;
    resize: none;/* 这个是去掉 textarea 下面拉伸的那个标志,如下图 */
  }

本文链接:https://www.beiwangshan.com/archives/106.html

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐