[dir="rtl"] .sub-menu { left: auto; right: 0; }
.site-nav .arrow { margin-inline-start: 6px; }

阿拉伯语版本导航里的下拉箭头全部朝左,子菜单从左侧弹出盖住 logo。切回中文正常,CSS 里用的还是 margin-left 和 left。先别急着动参数,把报错原文和时间点记下来,顺序反了容易白折腾。

原因不复杂,主题按物理方向写死 left 和 right,没有用 margin-inline-start 这类逻辑属性。html 上的 dir=rtl 只影响文本流,绝对定位的坐标不会自动翻转。

「RTL 导航方向」改完先别急着全量,挑一台机器放半天,真有问题这段时间就能看出来。改完隔一天再看一次,当场正常不代表能稳住。

测试环境和线上的差别,往往就在版本号和那几行被忽略的配置上。线上出问题先对时间点,跟发布、备份、任务执行的时刻排一排,能省掉一半功夫。

日志级别临时调高可以,记得改回去,长期开着既占磁盘又掩盖真问题。

处理上按这个顺序:把左右方向的属性换成 inline-start 和 inline-end;下拉箭头用 transform 配合 [dir=rtl] 翻转;图标是字体字符时单独镜像 不要整块 scaleX。

改完只确认一件事:阿拉伯语版本子菜单从右侧展开,箭头方向正确,不遮挡 logo。

作者 9823189