修改el-select默认样式

在开发过程中,我们一般遇到特殊的UI效果图,不得不修改<el-select>默认样式了。

修改el-select框样式

html 复制代码
<template>
       <el-select
         v-model="yearValue"
         class="select_box"
         multiple
         placeholder="请选择年份支持多选"
         :teleported="false"
         >
            <el-option
              v-for="item in yearOptions"
              :key="item.value"
              :label="item.label"
              :value="item.value"
            />
        </el-select>
</template>
css 复制代码
.select_box {
    width: 170px;

    // 默认placeholder
    :deep(.el-input__inner::placeholder) {
        color: #ccc;
    }

    // 默认框状态样式更改
    :deep(.el-input__wrapper) {
        background-color: #1d333700 !important;
        box-shadow: 0 0 0 1px #3fa6f4 inset !important;
        --el-select-focus-border-color: #3fa6f4 !important;
        --el-select-hover-border-color: #3fa6f4 !important;
    }

    // 修改下拉框样式-点击框focus
    :deep(.is-focus .el-input__wrapper) {
        box-shadow: 0 0 0 1px #3fa6f4 inset !important;
        --el-select-focus-border-color: #3fa6f4 !important;
        --el-select-hover-border-color: #3fa6f4 !important;
    }

    :deep(.el-select__caret) {
        color: #3fa6f4 !important; // 清除按钮
    }

    :deep(.el-input__inner) {
        color: #3fa6f4 !important; // 选中字体色
    }

    :deep(.el-select-dropdown__empty) {
        background-color: #072258;
        color: #ddd !important;

    }

    :deep(.el-select-dropdown__wrap) {
        color: #fff;
        background-color: #072258;
        color: #ddd !important;
    }

    :deep(.el-select-dropdown__item) {
        color: #fff !important;
    }

    :deep(.el-select-dropdown__item.hover) {
        background-color: rgb(22, 81, 244) !important;
        color: #ddd !important;
    }

    :deep(.el-select-dropdown__item.selected) {
        background-color: rgb(22, 81, 244) !important;
        color: #ddd !important;
    }

    :deep(.el-select-tags-wrapper.has-prefix>span) {
        background-color: rgb(22, 81, 244) !important;
        color: #ddd !important;
    }
}

// 下拉框-展开样式
.el-select-dropdown__item.selected {
    // background-color: #83e818!important; // 选中
}

.el-select-dropdown__item.hover {
    background-color: #121f1b !important; // hover
}

:deep .el-dropdown-menu__item:not(.is-disabled) {
    // color: #182F23!important; // disabled
}

.el-select-dropdown__item {
    color: #3fa6f4 !important; // 下拉项颜色
}

:deep .el-popper {
    background-color: #121f1b !important; // 展开下拉背景
    border: 1px solid #3fa6f4 !important; // 展开下拉边框
}

:deep .el-popper .el-popper__arrow::before {
    border-top: 1px solid #3fa6f4 !important; // 箭头按钮边框
    background-color: #121f1b !important; // 箭头按钮背景色
}

这里需要注意一点,<el-select>修改下拉框的样式需要加上**:teleported="false"**详细看element plus官网文档

相关推荐
腾讯TNTWeb前端团队3 分钟前
helux v5 发布了,像pinia一样优雅地管理你的react状态吧
前端·javascript·react.js
拉不动的猪4 小时前
刷刷题50(常见的js数据通信与渲染问题)
前端·javascript·面试
拉不动的猪4 小时前
JS多线程Webworks中的几种实战场景演示
前端·javascript·面试
uhakadotcom5 小时前
Astro 框架:快速构建内容驱动型网站的利器
前端·javascript·面试
uhakadotcom5 小时前
了解Nest.js和Next.js:如何选择合适的框架
前端·javascript·面试
uhakadotcom5 小时前
Remix 框架:性能与易用性的完美结合
前端·javascript·面试
uhakadotcom5 小时前
Node.js 包管理器:npm vs pnpm
前端·javascript·面试
咖啡教室6 小时前
前端开发日常工作每日记录笔记(2019至2024合集)
前端·javascript
咖啡教室7 小时前
前端开发中JavaScript、HTML、CSS常见避坑问题
前端·javascript·css
市民中心的蟋蟀9 小时前
第五章 使用Context和订阅来共享组件状态
前端·javascript·react.js