PostCSS-RTL插件:为什么嵌套样式中的/*rtl:ignore*/声明失效?

PostCSS-RTL插件:为什么嵌套样式中的/*rtl:ignore*/声明失效?

postcss-rtl插件嵌套样式忽略失效问题

在使用postcss-rtl插件时,开发者希望忽略对特定样式进行转换。然而,当在scss文件中使用/*rtl:ignore*/声明时,该声明却在rtl环境下失效。相反,在css文件中使用该声明时,它却生效了。

造成此问题的根本原因是,postcss-rtl插件无法识别scss文件中嵌套css代码中的/*rtl:ignore*/声明。要解决这一问题,需要将嵌套的css代码转换为非嵌套格式。

解决方法:

将以下嵌套scss代码:

/* rtl:ignore */ .header_btn {   .action-account {     background: url(..https://segmentfault.com/img/iconsx.png) no-repeat -691px -291px;   } }
登录后复制

转换为以下非嵌套格式:

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

通过这种方式修改后,postcss-rtl插件将正确识别/*rtl:ignore*/声明,并忽略.header_btn .action-account类中的样式转换。

© 版权声明
THE END
喜欢就支持一下吧
点赞15 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容