修改el-select和el-input样式;修改element-plus的下拉框el-select样式;修改placeholder样式

本文详细描述了如何修改ElemeUI(Element)的el-select和el-input样式,包括placeholder、边框、背景颜色等,并解决在老版本谷歌浏览器上选择时出现的多余轮廓问题,通过调整:focus伪类和outline属性来修复。

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



一、修改el-select样式

1.方案1使用popper-class和class

popper-class是选择器下拉菜单的自定义类名
在这里插入图片描述

    <el-select popper-class="el_select_dark_popper" class="select_dark_box" v-model="row.regionName" filterable placeholder="请选择" clearable @change="changeVal">
         <el-option v-for="item in region_name_list" :disabled="item.disabled" :key="item" :value="item.value" :label="item.name" />
   </el-select>





// 单选框类名
.select_dark_box {
  .el-select__wrapper.is-filterable {
    background-color: transparent; // 下拉框内透明背景色
    span {
      color: #fff; // 下拉框内文本样式
    }
  }
  .el-select__selected-item {
    .el-tag--light {
      background-color: #7bb5db; // 多选的下拉tag背景
    }
  }
}
// 单选框的下拉展开类名
.el_select_dark_popper {
  background-color: #234a71 !important; // 展开下拉背景
  border: 1px solid #234a71 !important; // 展开下拉边框
  .el-popper__arrow::before {
    border-top: 1px solid #234a71 !important; // 箭头按钮边框
    background-color: #234a71 !important; // 箭头按钮背景色
  }
  .el-select-dropdown {
    .is-hovering {
      background-color: #234a71; // 下拉hover背景
    }
  }
  .el-select-dropdown__item.is-disabled {
    color: #868686 !important; // 禁用
  }
  .el-select-dropdown__item.is-selected {
    color: #2a8fd2 !important; // 选中
    font-weight: bold;
  }
  .el-select-dropdown__item {
    color: #fff !important; // 可选
  }

  .el-select-dropdown__list {
    background-color: #244461;
  } // 下拉列所有背景
}

2.方案2使用teleported

修改el-select样式
在这里插入图片描述
在这里插入图片描述

.select_box{
  // 默认placeholder
  :deep .el-input__inner::placeholder {
    font-size: 14px;
    font-weight: 500;
    color: #3E534F;
  }
  // 默认框状态样式更改
  :deep .el-input__wrapper {
    height: 42px;
    background-color: rgba(0,0,0,0)!important;
    box-shadow: 0 0 0 1px #204C42 inset!important;
    --el-select-focus-border-color:#5AC087!important;
    --el-select-hover-border-color: #5AC087!important;
  }
  // 修改下拉框样式-点击框focus
  :deep .is-focus .el-input__wrapper {
    box-shadow: 0 0 0 1px #5AC087 inset!important;
    --el-select-focus-border-color:#5AC087!important;
    --el-select-hover-border-color: #5AC087!important;
  }
  :deep .el-select__caret {
    color:#5AC087!important;  // 清除按钮
  }
  :deep .el-input__inner {
    color: #5AC087!important; // 选中字体色
  }
}

// 下拉框-展开样式
.el-select-dropdown__item.selected {
  // background-color: #83e818!important; // 选中
}
.el-select-dropdown__item.hover {
  background-color: #498f6c!important; // hover
}
:deep .el-dropdown-menu__item:not(.is-disabled) {
  // color: #182F23!important; // disabled
}
.el-select-dropdown__item {
  color: #4FC78A !important; // 下拉项颜色
}
:deep .el-popper{
  background-color: #121f1b!important; // 展开下拉背景
  border: 1px solid #498f6c!important; // 展开下拉边框
}
:deep .el-popper .el-popper__arrow::before{
  border-top: 1px solid #498f6c!important; // 箭头按钮边框
  background-color: #121f1b!important; // 箭头按钮背景色
}

二、修改el-input样式

input如下
在这里插入图片描述
<el-input clearable v-model="name" placeholder="请输入" class="input-with-select input_box" style="width: 148px;margin: 0 40px;position: absolute;right:67px;" />

.input_box{
  // 默认状态样式更改
  height: 42px;
  --el-input-bg-color:rgba(0,0,0,0)!important;
  --el-input-border-color:#204C42!important;
  --el-input-focus-border-color:#5AC087!important;
  --el-input-hover-border-color: #5AC087!important;

  /* 只更改具有.el-input类名的元素的占位符文本样式 */
  :deep .el-input__inner::placeholder {
    font-size: 14px;
    font-weight: 500;
    color: #3E534F;
  }
  // 清除按钮
  :deep .el-input__clear {
    color: #5AC087!important;
  }
  :deep .el-input__inner {
    color: #5AC087!important; // 字体色
  }

}

三、修改el-select的在老版本多出来轮廓样式

1.复现问题样式:

在72版本谷歌浏览器上,选择下拉框内容时候,会有蓝色轮廓
在这里插入图片描述

2.找到hover或focus元素区域

方法:
1.鼠标点击下拉打开下拉框后,鼠标左键一直按住不送,同时移动鼠标到右侧控制台的元素选择按钮图标上(只有按住左键不送,那个下拉元素才不会关闭掉),
2.移动到元素选择按钮图标上后,左键才可以松开,然后点击一下元素选择按钮图标,就可以正常选中摸到左侧的下拉元素了。
3.选择:hov里的:focus可以模拟触发正常鼠标操作出来的那个异常蓝色样式
4.输入:focus过滤,可以发现是outline的问题导致的
5.修改代码如下

.el-select__popper:focus {
  outline: none !important;
}

在这里插入图片描述

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值