怎么修改element ui动态组件的样式

要修改elementUI组件的样式,可以采用以下两种方式

1. 全局样式

通过选择权重覆盖elementUI组件的样式,如修改复选框为圆角:

    <style>
        .edit-item .el-checkbox__inner {
    
    
          border-radius: 50%;
        }
    </style>

但这种方式为全局样式,会影响页面中所有复选框,如果不希望影响其它页面的样式,可以采用第二中方式

2. 局部样式

    <style scoped>
        .edit-item .el-checkbox__inner {
    
    
          border-radius: 50%;
        }
    </style>

但如果仅仅是设置了scoped属性,样式无法生效,原因是以上样式会被编译成属性选择器,而elementUI组件内部的结构却无法添加该html属性,以上样式被编译成如下代码:

    .edit-item[data-v-6558bc58] .el-checkbox__inner[data-v-6558bc58] {
    
    
          border-radius: 50%;
        }

解决方案也很简单,只需在选择器中要添加>>>即可

    <style scoped>
        .edit-item >>> .el-checkbox__inner {
    
    
          border-radius: 50%;
        }
    </style>

如果是sass或less编写的样式,还可以使用/deep/

    <style scoped lang="scss">
        .edit-item /deep/ .el-checkbox__inner {
    
    
          border-radius: 50%;
        }
    </style>

以上写法样式都会编译成以下样式:

    .edit-item[data-v-6558bc58] .el-checkbox__inner{
    
    } 

所以elementUI中的样式就能成功覆盖

猜你喜欢

转载自blog.csdn.net/sdasadasds/article/details/130081329