我有一个任务,通过使用某种库来修改 css,向网站添加 rtl 支持,该库将从左到右交换,反之亦然,并将 [dir=rlt] [dir=ltr] 相应地附加到所有选择器。
到目前为止我所做的:
- 称为 ng 弹出
- 添加了 rtlcss 处理器作为 postcss 插件,但它不符合我的要求。我需要它将 [dir=*] 附加到选择器。
- 尝试了其他插件,但它们不起作用。
可能的解决方案:
- 制作两个css文件并动态加载它们。(但是你需要将 ViewEncapsulation.None 添加到所有组件)不好,没有那么多工作,但可以破坏布局
- 制作两个 css 文件并作为两个不同的应用程序运行。一种用于 RTL,一种用于 LTR。不好,没有资源
- 手工制作rtl。不好,工作太多
- 忘记 RTL 处理器并制作 sass mixins。不好,工作太多
- 制作一个带有正确生成前缀的 css 文件,[dir=ltr] 和 [dir=rtl] 这将导致 css 大小加倍,但最终会起作用。很好,但不知道该怎么做
- 创建自定义库来执行此操作,或分叉现有库进行修改
- 找到工作处理器
目前,我正在尝试寻找工作处理器,但没有运气。
对于如何实现这一目标有什么想法吗?