If the style of the Select selector drop-down box of Element-plus in Vue is customized and modified (popper-append-to-body (discarded) replaces the popper-class attribute solution)

Realize the effect:

insert image description here

Instructions:

insert image description here

Foreword:

insert image description here

Questions:
1. Can’t use any deep modification style, it will not work, because it is not mounted in #app at all (no modification is useless)
2. Use the global index.vue to modify the style (pollute the global and I No)
3. The official documents and all Baidu solutions use popper-append-to-body (but it was discarded)
4. After 9981 difficulties, the style of the drop-down box can finally be customized and modified. I cry (I can't wait to share it with friends like me)

Specific code:

<el-form-item label="统计频度" >
  <el-select v-model="value" placeholder="请选择" popper-class="selectStyle" >
    <el-option
    v-for="item in options"
            :key="item.value"
            :label="item.label"
            :value="item.value">
   </el-option>
  </el-select>
</el-form-item>

popper-classJust add this attribute

  data() {
    
    
    return {
    
    
      //下拉框数据
      options: [
            {
    
    
                value: "选项1",
                label: "年度",
            },
            {
    
    
                value: "选项2",
                label: "季度",
            },
            {
    
    
                value: "选项3",
                label: "月度",
            },
        ],
        value: ""
    };
  },

remember! Knock on the blackboard to focus! To write a style tag alone (otherwise it has no effect)

insert image description here

//下拉框标题文本label
::v-deep .el-form-item__label{
    
    
  color: #fff;
  font-weight: 100;
}
//选择框
::v-deep .el-input__wrapper{
    
    
  background-color: rgba(26, 84, 128,0.5);
  width:130px;
}
//下拉框文字
/deep/ .el-input__inner{
    
    
 color:#e1dcdc;
}
//下拉框背景色
.el-popper.is-light.selectStyle {
    
    
    background-color: rgba(0, 136, 255, 0.1) !important;
    border: 1px solid #254277 !important;
}
 //下拉框的链接小方块
.selectStyle.el-popper[data-popper-placement^=bottom] .el-popper__arrow::before {
    
    
    background: rgba(0, 136, 255, 0.1) !important;
    border: 1px solid #254277 !important;
}
.selectStyle.el-popper[data-popper-placement^=top] .el-popper__arrow::before {
    
    
    background: #254277 !important;
    border: 1px solid #254277 !important;
}
 //鼠标移动上去的选中色
.selectStyle {
    
    
    .el-select-dropdown__item.hover,
    .el-select-dropdown__item:hover {
    
    
        background: #2A77C6 !important;
    }
 //下拉框的文本颜色
    .el-select-dropdown__item {
    
    
        color: #B3BCCE  !important;
    }
 //选中之后的颜色
    .el-select-dropdown__item.selected {
    
    
        background: #2A77C6 !important;
    }
}

I hope it can help those who are as melancholy as me!

Reference (one more drop-down box border style than me): https://blog.csdn.net/qq_52721978/article/details/127493256

Guess you like

Origin blog.csdn.net/weixin_47336389/article/details/128551598