博客列表 >vue deep深度选择器

vue deep深度选择器

搁浅
搁浅原创
2023年02月27日 16:14:31390浏览

设置了scoped的话,如果想要在父组件中修改了组件的样式时应该怎么样做呢 ?如果去掉scoped的话就会影响全局样式,但是加上scoped又不能在当前组件修改子组件的样式,这个时候就可以使用 deep了。

deep 表示深度选择器

  1. <!-- 写法1:使用::v-deep -->
  2. <style lang="scss" scoped>
  3. ::v-deep .ant-card-head-titlef
  4. background: yellowgreen;
  5. </style>
  6. <!-- 写法2:使用>>>操作符 -->
  7. <style scoped>
  8. >>>.ant-card-head-titlef
  9. background: yellowgreen;
  10. </style>
  11. <!-- 写法3:使用/deep/ -->
  12. <style scoped>
  13. /deep/.ant-card-head-titlef
  14. background: yellowgreen;
  15. </style>
  16. <!-- 写法1:使用:deep(<inner-selector>) -->
  17. <style lang="scss" scoped>
  18. :deep( .ant-card-head-titlejf
  19. background: yellowgreen;
  20. </style>

写法1 和写法4,都支持sass预处理器。但是在新的vue3.0 单文件规范中,如果你还是使用写法1,会碰到如下警告:

[@vue/compiler-sfc] ::v-deep usage as a combinator has been deprecated. Use:deep(<inner-selector>) instead.

写法1在vue3.0中已经被弃用了,以后小伙伴们在开发vue3.0项目的时候,还是使用写法4吧~,有一说,写法4在语义上也更有助于理解。

关于写法1和写法3,主要是不支持sass预处理器的解析,且 >》操作符存在浏览器兼容性问题,所以朋友们还是谨慎使用吧~

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议