scope样式隔离&穿透

  1. scope
    1. 在style标签里面设置
      1. 会为template里面定义的html元素添加一个 data-v-{唯一的hash值} 的属性选择器
      2. 在style标签中所写的css样式都会在在样式选择器最后加上 data-v-{唯一的hash值}
      3. 对于其子组件,只会在其根元素添加data-v-{唯一的hash值},其子元素不会添加
    2. 就是通过在html标签和class里面添加一个唯一的属性选择器,从而来实现样式隔离

    3. 样式穿透
      1. 在根组件修改其后代组件的样式
      2. 使用deep样式穿透
        1. :deep(className){}
        2. deep会把属性选择器放在最前面(就是让该className变成公共样式,删除该属性选择器也可以)
      3. 全局属性(去掉scope),不推荐,造成样式污染!
      4. 部分全局属性,再新加一个style标签,不加上scope属性,直接在里面写需要穿透的className即可!
      5. 注意:
        1. 父组件的scope标签会会给子组件的根标签添加data-v-{唯一的hash值}(会存在两个),所以我们对于子组件的根元素上的className直接添加属性是可以生效的
  2. 样式隔离第二个方式:css modules
    1. 在style标签里面添加module="cssmodule",而html里面class取名就需要:class="cssmodule.main"(className为main)
    2. 其实也是在类名后面添加一串唯一值来保证全局下每个类名的唯一,来实现样式隔离

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大鸡腿最好吃

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值