为什么在 SCSS 文件中 postcss-rtl 无法识别 /*rtl:ignore*/ 声明?

为什么在 SCSS 文件中 postcss-rtl 无法识别 /*rtl:ignore*/ 声明?

postcss-rtl 插件中忽略转换属性的疑惑

在使用 postcss-rtl 插件时,开发者可能会遇到这种情况:使用 /*rtl:ignore*/ 在选择器前声明,以排除某个样式进行转化。但是,在通过浏览器查看时,却发现该样式在 rtl 环境下仍然被转换了。

究其原因,这与样式文件的格式有关。这个问题只出现在 scss 文件中。如果将其写在 css 文件中,该声明是生效的。

以下代码示例说明了这个问题:

/* rtl:ignore */
.header_btn {
  .action-account {
    background: url(..https://segmentfault.com/img/iconsX.png) no-repeat -691px -291px;
  }
}

scss 文件中,由于嵌套的 css 代码,postcss-rtl 插件无法识别内部的 /*rtl:ignore*/ 声明。因此,需要将其转换为非嵌套格式,才能正常工作。

以上就是为什么在 SCSS 文件中 postcss-rtl 无法识别 /*rtl:ignore*/ 声明?的详细内容,更多请关注其它相关文章!