修改vue项目中 elementUI input边框样式

本文介绍如何在Vue项目中使用Element UI的el-input组件时去除其默认边框样式。文章提供了两种有效的方法,包括使用Vue的深度选择器进行样式覆盖,并针对不同情况给出了具体的CSS实现代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

需要去掉input边框。

直接在含有 scoped属性的style中修改,是不起作用的。在一个不含scoped属性中

解决方案一:

在开发过程中遇到需要去掉 el-input的边框,使其满足ui要求,element-ui官网的el-input的样子如下:
在这里插入图片描述
但是我需要的是下面这种没有边框的效果:
在这里插入图片描述
不可行做法
例如这样一段代码来设置

<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 下面拉伸的那个标志,如下图 */
  }

在这里插入图片描述

解决方案二:

html:
在这里插入图片描述
css:
在这里插入图片描述

Element UI是一个基于Vue.js的桌面端组件库,它提供了一系列的UI组件,其中包括Input输入框。在使用Element UIInput组件时,通常会有一些默认的样式,比如聚焦时的蓝色边框。要去除这个蓝色边框,可以通过覆盖默认的样式来实现。 以下是一些方法可以去除Input输入框聚焦时的蓝色边框: 1. 使用全局样式覆盖。你可以在全局样式文件中定义一个新的CSS规则,这个规则会覆盖掉Element UI中对应Input聚焦样式。例如: ```css /* 全局样式覆盖 */ input::-webkit-input-placeholder { /* WebKit浏览器的默认样式 */ color: red; } input:-moz-placeholder { /* Firefox 4到18的默认样式 */ color: red; } input::-moz-placeholder { /* Firefox 19及以后的默认样式 */ color: red; } input:-ms-input-placeholder { /* IE的默认样式 */ color: red; } input:focus { outline: none; /* 去除聚焦时的轮廓线 */ } ``` 2. 为特定的Input元素添加类名,并定义样式。如果你想要对特定的Input元素去除蓝色边框,可以给该元素添加一个特定的类名,然后在样式表中定义该类名对应的CSS规则: ```html <el-input class="no-outline"></el-input> ``` ```css /* 针对特定元素的样式覆盖 */ .no-outline:focus { outline: none; /* 去除聚焦时的轮廓线 */ } ``` 3. 使用深度选择器。Element UI提供了一个深度选择器(>>> 或 /deep/),可以用来穿透组件的样式封装。使用这个深度选择器,可以更精确地覆盖内部的样式: ```css /* 使用深度选择器 */ /deep/ .el-input .el-input__inner:focus { outline: none; /* 去除聚焦时的轮廓线 */ } ``` 请注意,对于Vue 3项目,深度选择器的写法可能有所不同,因为Vue 3对样式穿透的支持有所变化。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值