VP导航 VP导航
首页 提交网址

资讯文章 资讯 · NEWS

收录了阿拉伯语站点之后:目录站的 RTL 布局和那份图标清单

2026-10-24 约 1,578 字 预计阅读 4 分钟 yiyunkj

收录了阿拉伯语站点之后:目录站的 RTL 布局和那份图标清单 收

把一段阿拉伯语塞进一个从左到右的页面,最常见的现象不是文字靠右了,而是括号和加号跑到了句子另一头、数字顺序看起来是反的、面包屑的箭头还指着原来的方向。

这些都不是 bug,是双向文本算法在正常工作的结果,只是你的布局没告诉它页面该往哪边走。

RTL 布局的物理属性与逻辑属性对照

图片来源:网络,版权归原作者所有,侵权请联系删除

lang 和 dir 是两个属性

第一个容易搞混的点:语言和方向是独立的。写了 lang="ar" 但没写 dir="rtl",浏览器照样从左往右排版,只是拼写检查和字体选对了。两个都要给,而且方向要写在根节点上——弹性盒子和网格会继承它,表单控件也读它,只在某个 div 上写会漏掉一半。

目录站的实际处理通常是整页 dir="rtl" 只在该语言版本下切换,条目卡片里的原文站点名则单独隔离。

物理属性换成逻辑属性

这张对照表值得直接贴在项目 wiki 里,因为每次 review 都会用到:

物理写法逻辑写法在 RTL 下的效果
margin-leftmargin-inline-start变成右边距
padding-rightpadding-inline-end变成左内边距
left / rightinset-inline-start / end起点跟着阅读方向走
text-align: lefttext-align: start靠阅读起点对齐
border-leftborder-inline-start边框换到另一侧

弹性盒子和网格不用改,一行布局本来就沿着行内轴排,方向一翻转列顺序自然跟着变。真正需要改的是那些写死的左右值——样式表里每一个 left 都是一处关于"读者从哪边开始"的硬编码假设,写的时候省事,找的时候要翻遍整个文件。

图标镜像要做一次人工判断

哪些图标该左右翻转,样式表推不出来,得一个个过。判断标准是这个图标表达的是什么:

  • 该镜像的:返回和前进箭头、下一页的尖角、进度条和步骤条、撤销重做、回复、列表缩进、面包屑分隔符。它们表达的是方向和顺序。
  • 不该镜像的:播放键(它跟的是磁带走带方向,已成惯例)、时钟表盘、对勾、星标、放大镜、公司标志、带文字或数字的图标。它们表达的是实物或通用约定。

实现上用 :dir(rtl) 伪类比 [dir="rtl"] 后代选择器稳,前者能匹配从祖先继承来的方向,也能匹配 dir="auto" 算出来的方向。做完把这份清单留下来,下次加图标照着判断,不用重新讨论一遍。

混合方向的文本要隔离

真实内容几乎都是混排的:阿拉伯语句子里夹一个英文品牌名,希伯来语段落里放一个邮箱地址,用户名是用户自己填的、方向未知。双向算法能处理大部分,但在边界上的中性字符——括号、连字符、句点——经常被摆到错误的一侧。

处理工具有三个,各管一种情况:

<bdi> 元素用来包方向未知的内容,比如从数据库里取出来的用户名,它的方向由内容自己决定,而且不会干扰外面那段文字的排序。这是目录站条目页最常缺的一个标签。

dir="auto" 加在自由文本上,浏览器按第一个强方向字符判断,评论区、搜索框、表单输入都该用它——哪怕界面本身是中文,用户也可能打一段阿拉伯语进去。

CSS 里的 unicode-bidi: isolate 等价于元素级的隔离,plaintext 则让每段自己判断方向,适合整块的 UGC 内容。价格、SKU、代码片段这类必须保持左起的内容,显式写 direction: ltr 加隔离。

还有两件小事

阿拉伯语、波斯语、乌尔都语的字母是连写的,加了字间距就会断开连接,看起来像坏了。中文站常有的 letter-spacing 全局设置要在这几个语言下清零。字体也要单独准备,Noto Sans Arabic 这类覆盖面够广的字体是省事的选择。

验收方法很土但有效:在开发者工具里给根节点加上 dir="rtl",用真实语种的真实条目数据过一遍列表页、条目页和表单。剩下的那几个硬编码 left,只有在这种"其他东西都翻过去了"的画面上才看得见。

本文标签 RTL布局 双向文本bidi 目录站国际化
← 上一篇 失败了就重试,是目录站最容易写错的那行代码 下一篇 → 去抓对方网站的时候,那个超时到底该设多少

— 本文完 —

提交网址

发现好站,欢迎自荐收录

站内搜索

站点统计

  • 今日审核0
  • 已收录站点3744
  • 正常访问3738
  • 失联站点6
  • 累计访问175

网站分类

  • AI工具 0
    AI对话0 AI绘画0 AI写作0 AI编程0 AI音视频0 AI办公效率0
  • 开发编程 0
    前端开发0 后端开发0 移动开发0 开源与代码托管0 数据库0 开发文档与教程0
  • 设计素材 0
    UI设计0 图标素材0 免费图库0 字体下载0 配色工具0 设计模板0
  • 站长工具 0
    网站统计0 SEO工具0 域名与主机0 收录提交0 建站程序0 运维监控0
  • 学习教育 0
    编程教程0 语言学习0 职业技能0 公开课与慕课0 考试题库0 中小学教育0
  • 生活服务 0
    交通出行0 外卖点餐0 房产租房0 医疗健康0 政务办事0 快递物流0
  • 影音娱乐 0
    影视观看0 音乐音频0 游戏资源0 短视频直播0 小说阅读0
  • 电商购物 0
    综合商城0 比价工具0 导购返利0 二手交易0 团购优惠0
  • 综合其他 1
    实用工具0 资源合集0 小众站点0 个人博客0 论坛社区0
  • 新闻资讯 0
    科技资讯8 财经媒体1 行业动态0 社会热点0 综合门户0
  • 资讯文章 380

最新收录

  • rel=next/prev 早就不是
  • 服务器那层一直没人管:目录站的 SS
  • 把条目状态推给对方:目录站的 Web
  • 中国日报网
  • 装进容器之后,目录站多出来的那几个坑
  • 收录的站点改了名、换了域名:目录站的
  • 去抓对方网站的时候,那个超时到底该设
  • 收录了阿拉伯语站点之后:目录站的 R

浏览排行

  1. 满分作文网 6
  2. Let's Enhance 3
  3. 淘菜菜 3
  4. MasterClass 3
  5. TypeScript 中文网 3
  6. Zhengziying 3
  7. 得意生活 3
  8. 镇江网友之家 3

联系我们

bQ:12345678

电话:400-8888-888

邮箱:admin@example.com

时间:09:00-21:00

友情链接

车机屋·焊锡条·探兔AI导航·静电测试仪·大学生联盟

关于我们|广告合作|隐私条款|网站地图

原ICP备00000000号-1,@2026

由 Z-BlogPHP 驱动