修改el-select下拉框的样式(包括输入框和弹出层)

因为下拉框的弹出层不在组件内,在body标签内的最后子元素位置;而单组件页面的<script>只对该组件生效,那弹出层是body的直接子元素,跟组件离老远了,能生效才怪了。所以用popper-class = " dxfSelect "

<el-select v-model="featureTypePoint" popper-class="dxfSelect" placement="bottom" size="small" style="width:65% !important;" placeholder="请选择要素点类别">
   <el-option v-for="item in optionsPoint" :key="item.label" :label="item.label" :value="item.value" />
</el-select>

 dxfSelect样式写在项目的统一样式表文件里面,才生效;因为这个统一样式表直接作用于body标签

.dxfSelect {
    background: #184F93 !important;
    border: 1px solid #2C5EA2 !important;
}
.dxfSelect .el-popper__arrow::before {
    background: #184F93 !important;
    border: 1px solid #2C5EA2 !important;
}

 下面是直接写在组件内的<script>也能生效的样式

::v-deep .el-scrollbar__view .el-select-dropdown__list{
  border: none;
  background-color: rgba(1, 28, 82, 0.8);
  margin: 0 0!important;
}
::v-deep.el-popper.is-light .el-popper__arrow::before {
  background:rgba(1, 28, 82, 0.8);
}
/* 拉框选中 */
.el-select-dropdown__item{
  color: #fff;
  background-color: #164D91;
}
/* 鼠标经过下拉框 */
.el-select-dropdown__item.hover, 
.el-select-dropdown__item:hover{
  background-color: #2F68B1;
}
/* 更改select弹出框的边框样式 */
::v-deep .el-select-dropdown {
  border: 1px solid #3b68c3;
  background-color: #184F93  !important;
  margin: 0px 0px !important;
}
::v-deep .el-input__inner::placeholder {
  background-color: #184F93 !important;
  color: #fff;
}
::v-deep .el-input--small .el-input__wrapper {
  background-color: #184F93;
  color: #fff;
}
::v-deep .el-input--small .el-input__inner {
  color: #fff; 
}
::v-deep .el-input__wrapper {
  box-shadow: 0 0 0 1px #2C5EA2 inset;
}

 

前辈致词:

前端就那点东西,不是样式没加上去就是权重不够,加权重最顶的就是 !important ,

在此基础上可以用 .父class名 .子calss名 (先用父class筛一遍,再取其class名是这个的子元素,范围就小一些,权重就更大一些) 增加权重,

还能用父的id选择器配合子元素增加权重

  • 11
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值