登录后,购买下载资源更方便!
您需要 登录 才可以下载或查看,没有账号?立即注册
×
针对多语言市场特别是包含 RTL(从右向左)语言(如阿拉伯语、波斯语、希伯来语)的国际化布局,需要通过系统化的架构设计和关键技术适配实现高兼容性方案。+ O; b1 ]0 f' r& V7 r# m" U
以下是优化后的全链路解决方案:
" _0 ? S% {0 J% E
# u9 y0 G/ q! X+ p2 d) u9 g
方法一:
- {5 z& D$ k5 thtml标签中添加 dir="rtl" 属性! N4 }0 R8 _/ V7 u
<html DIR=RTL> 改变文档的书写顺序' C) H% `8 F9 ]- t! Q0 {% }$ {
8 h. A% _- U0 r3 n0 l/ x) b
- <!-- 动态语言标记(关键!) -->: T4 G; `, w1 z. s2 T( E; ` N
- <html lang="{lang}" dir="{dir}"> <!-- 如 lang="ar" dir="rtl" -->
; N3 X; T9 ~$ x! S1 `
复制代码
6 K$ Y8 i8 l( |" h& ~) Q/ }方法二(css):+ V0 F# L; N; Z* E( O2 M
html{direction:rtl;unicode-bidi:bidi-override;}; q9 ~4 g( S3 D$ r; n! c
给html添加如上样式就可以了。- b. q f7 g' w' n
0 T. Q6 m& f4 H1. direction:. l( {" U( L; o9 K1 V5 `
语法:- _% A! T7 R' n
direction : ltr | rtl | inherit$ W; G5 B1 X4 B+ `& D: s' d# M
取值:2 I, \+ ~5 U9 N) j& m" R6 H
ltr : 默认值。文本从左到右流入
3 B F/ N4 d, B$ e9 b: f rtl : 文本从右到左流入9 u5 V% r Q+ |9 y. q" N
inherit : 文本流入方向由继承获得
- C9 m, d$ Z- M6 d% o* I 说明:
0 y" {# l5 K1 ~/ U1 O 用于设置文本流入的方向。
7 R9 G" D% p% [# t: m 此属性不会影响拉丁文的字母数字字符,它们总是以 ltr 值被呈递。但是此属性会作用于拉丁文的标点符号。
; R& x4 F/ l) P8 f" l, j 假如您想应用此属性于内联文本,您必须设定 unicode-bidi 属性为 embed 或 bidi-override 。
# C0 f/ n O" c% f. G3 B. V2. unicode-bidi:
" g N7 Q, B# {' @ 语法:4 }) Z( {" }5 z5 H8 a; |* c" O
unicode-bidi : normal | bidi-override | embed
" B9 C3 l; S7 s 取值:3 {" T: r) s- s$ C, q) }
normal :默认值。对象不打开附加的嵌入层,对于内联要素,隐式重排序跨对象边界进行工作
. ~/ R+ i9 i0 @" t% x d* O/ ] bidi-override :严格按照 direction 属性的值重排序。忽略隐式双向运算规则
+ o* A+ M0 O9 F! B! s embed :对象打开附加的嵌入层, direction 属性的值指定嵌入层,在对象内部进行隐式重排序$ B: L. T% y% N! ]3 Q; N2 f
! C4 l* n/ T7 o7 n0 H: E 说明:* s9 x7 K! e7 g( A
用于同一个页面里存在从不同方向读进的文本显示。与 direction 属性一起使用。# ^! g) H, d, X a8 \7 F
假如您想应用 direction 属性于内联文本,您必须设定此属性值为 embed 或 bidi-override 。3 v# g" ~) W' W* F& e \
Unicode 双向运算法则自动翻转嵌入字符顺序依照它们固有的流动方向。例如,英文文档的默认书写方向是左-右,假如其
: c% h/ }& z o$ u: p, i7 x 中包含的部分其他语种的字符其书写方向是右-左,双向运算法则就可以用来代理用户正确的反转其流动方向。7 z) c3 C! S7 Q* {: E( u% U
6 H( D7 R: S1 C/ v0 W- `
" F& n& X/ x$ i& @4 J: p7 z$ r
方法三(JS):
- k. O# N. Y$ V; [6 f1 p& D7 }设置 text-align:right;然后翻转所有字符串。5 c% [% \. H- C+ T
不推荐使用此方法,一是容易出错,二是大量JS操作,损耗性能。
/ d$ w" S4 L) l( r
* w' ]5 ]; l { X8 _. ~参考文章:7 P' v; A6 x& Y8 a3 G7 ]
https://blog.csdn.net/weixin_34254823/article/details/91369585" ?) F6 O/ n/ C) Y5 K. V$ [! Y
https://blog.baiwand.com/?post=212. ]5 N- ^+ p, f
|