element-ui 中table表格卡片头部样式在scoped下失效: 去看深度选择器/deep/.el-table th {backgroud-color:red;}

element-ui 卡片头部样式在scoped下失效

 

这个时候就可以用到深度作用选择器

/deep/.swiper-pagination-bullet-active{
    //使用 scoped 后,父组件的样式将不会渗透到子组件中。
    //使用深度作用选择器 /deep/ 或者'>>>' ,但注意像sass、less预处理器不认三个箭头
    background: #fff;
}

 

问题对人有帮助,内容完整,我也想知道答案0问题没有实际价值,缺少关键内容,没有改进余地

我想改变卡片头部的样式,发现影响到其他页面的卡片,
于是加了scoped,
可是修改的样式就失效了,请问改怎么配置

 div(slot="header")
    span 产品名称: APEX-XXX  
.el-card__header {
    background-color: #999999;
    padding: 10px 20px;
  }

 

https://vue-loader.vuejs.org/...
去看深度选择器(百度)

 

 

CSS的coped私有作用域和深度选择器

 xinhui9056 关注

 0.2 2018.07.26 17:55 字数 366 阅读 4177评论 1喜欢 4

大家都知道当 <style> 标签有 scoped 属性时,它的 CSS 只作用于当前组件中的元素。那么他是怎么实现的呢,大家看一下编译前后的代码就明白了:

编译前:

<style scoped>
.example {
  color: red;
}
</style>

编译后:

<style>
.example[data-v-f3f3eg9] {
  color: red;
}

看完你肯定就会明白了,其实是在你写的组件的样式,添加了一个属性而已,这样就实现了所谓的私有作用域。但是也会有弊端,考虑到浏览器渲染各种 CSS 选择器的方式,当 p { color: red } 设置了作用域时 (即与特性选择器组合使用时) 会慢很多倍。如果你使用 class 或者 id 取而代之,比如 .example { color: red },性能影响就会消除。所以,在你的样式里,进来避免直接使用标签,取而代之的你可以给标签起个class名。

如果你希望 scoped 样式中的一个选择器能够作用得“更深”,例如影响子组件,你可以使用 >>> 操作符:

<style scoped>
    .parent >>> .child { /* ... */ }
</style>

上述代码将会编译成:

.parent[data-v-f3f3eg9] .child { 
    /* ... */ 
}

而对于less或者sass等预编译,是不支持>>>操作符的,可以使用/deep/来替换>>>操作符,例如:.parent /deep/ .child { /* ... */ }

举个栗子

 

 

如果想将swiper当前默认蓝色状态改成白色

默认效果

 

css样式可以可以写

.swiper-pagination-bullet-active{
    background: #fff;
}

 

 

看看效果会怎样

重置样式后效果

这个时候就可以用到深度作用选择器

/deep/.swiper-pagination-bullet-active{
    //使用 scoped 后,父组件的样式将不会渗透到子组件中。
    //使用深度作用选择器 /deep/ 或者'>>>' ,但注意像sass、less预处理器不认三个箭头
    background: #fff;
}

使用深度作用选择器后效果

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值