zl程序教程

您现在的位置是:首页 >  其他

当前栏目

前端面试题【element ui篇】之二:怎么修改element ui动态组件的样式?

面试题组件前端UI 怎么 修改 动态 样式
2023-09-14 09:02:35 时间

要修改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中的样式就能成功覆盖