CSS 样式穿透 • 汇总

目录

  • 前言
    • 何时使用样式穿透?
  • 一、样式穿透的实现方式
  • 二、不同的 css 预处理语言适用的样式穿透方案
  • 三、注意事项

前言

何时使用样式穿透?

  • 修改第三方组件库的样式;
  • 修改其他组件的私有样式(其样式使用了 scoped 属性)。

一、样式穿透的实现方式

从兼容低版本的视角看。

  • >>>
    • 适用于 css、less 和 stylus。
    • 语法:外层容器 >>> 组件 { },例如:#app >>> el-button {}
  • /deep/
    • 适用于 scss 和 less。
    • 语法:外层容器 /deep/ 组件 { },例如:.main /deep/ el-button {}
  • ::v-deep:适用于 scss 和 less。
    • 适用于 scss 和 less。
    • 语法:外层容器 ::v-deep 组件 { },例如:.main ::v-deep el-button {}

二、不同的 css 预处理语言适用的样式穿透方案

从兼容低版本的视角看。

  • CSS:推荐使用 >>>
  • Less:推荐使用 /deep/::v-deep
  • Sass/Scss:推荐使用 /deep/::v-deep

三、注意事项

  • 操作符 >>> 可能会因为 “无法将 CSS 预处理语言 编译成 CSS” 而报错,可以尝试使用 /deep/::v-deep来解决。
  • vue3.0 中使用 /deep/ 会报错,更推荐使用 ::v-deep




【参考文章】
CSS 样式穿透的三种方式

你可能感兴趣的:(#,css,穿透,less,穿透,scss,穿透,sass,穿透,stylus,穿透)