vue如何修改第三方库的css样式,如element-ui的样式,穿透样式的写法

在vue项目中,我们经常因为在样式上加了scoped,避免了组件之间样式的污染,但同时带来的问题是直接修改第三方库的样式不生效

解决办法:(本例以修改element-ui的scrollbar样式)

1.再添加个style标签,标签上不加scoped字段,同时修改的样式前最好加上前缀类名(如我写的是 .scrollbar .el-scrollbar__wrap而不是直接写.el-scrollbar__wrap),避免污染,如

<style>
.scrollbar .el-scrollbar__wrap{
    overflow-x: hidden;
}
< /style>
<template>
  <el-scrollbar class="scrollbar">
    <div class="zz">
        地方给
        地方给 
        梵蒂冈
        地方给
        地方给
 
    </div>
  </el-scrollbar>
</template>
 
<script>
export default {
name:'leftSlider',
data(){
    return{}
}
}
</script>
<style>
.scrollbar .el-scrollbar__wrap{
    overflow-x: hidden;
}
</style>
<style lang="scss" scoped>
.scrollbar{
    height: 100%;
}
</style>

2.使用穿透,>>>或者 /deep/ 或者 ::v-deep (::v-deep用于scss的样式,>>>用于css的样式,...反正不行就一个一个试就行了)

下面是scss的穿透:

<style lang="scss" scoped>
.scrollbar{
    height: 100%;
   ::v-deep .el-scrollbar__wrap{
    overflow-x: hidden;
}
}
</style>
落魄前端-小陈
0
0
0
评论
浏览
收藏