登录后,购买下载资源更方便!
您需要 登录 才可以下载或查看,没有账号?立即注册
×
针对多语言市场特别是包含 RTL(从右向左)语言(如阿拉伯语、波斯语、希伯来语)的国际化布局,需要通过系统化的架构设计和关键技术适配实现高兼容性方案。
2 A6 u4 x3 n, k7 p& n" a2 P以下是优化后的全链路解决方案:
' z& J' t7 Q* Q; e& M% `
) Z" G& ~) }+ z" P4 m. b' O# x% W$ V方法一:
" H# {+ R- ]2 b0 S, whtml标签中添加 dir="rtl" 属性
! l* D+ O, H @" L( }<html DIR=RTL> 改变文档的书写顺序4 J v" M" H3 T5 p) Y
, W4 t, |0 G6 l
- <!-- 动态语言标记(关键!) -->
9 N# r8 A! w8 I% ? - <html lang="{lang}" dir="{dir}"> <!-- 如 lang="ar" dir="rtl" -->6 \$ `) n+ f% |* a
复制代码 ; X5 e" _' P" [: r
方法二(css):6 m& K+ a: p4 U& C
html{direction:rtl;unicode-bidi:bidi-override;}
' f& ?0 u6 a/ L p. y) g) l给html添加如上样式就可以了。# i! d1 ]" n$ B# ~+ Q0 B
$ e* T! I* n0 g y8 b1. direction:
/ p4 V$ v/ L5 H% l( p8 o/ N' \ 语法:
# t: _4 r$ e. g* i4 |2 T; w, O9 } direction : ltr | rtl | inherit
- I1 D9 [& C& o) e3 k3 [ 取值:/ q% s4 S' B2 u9 q( p# I. [0 j
ltr : 默认值。文本从左到右流入2 R6 h0 ]! k! d
rtl : 文本从右到左流入( g) @ v; }& A8 n% ~6 ?. A
inherit : 文本流入方向由继承获得 U* U) d0 X2 q
说明:8 ?7 O I9 e! l7 \
用于设置文本流入的方向。
5 o- Y3 S5 v, w1 e, z: x 此属性不会影响拉丁文的字母数字字符,它们总是以 ltr 值被呈递。但是此属性会作用于拉丁文的标点符号。# r3 ^) U: H" R3 E
假如您想应用此属性于内联文本,您必须设定 unicode-bidi 属性为 embed 或 bidi-override 。
7 m2 F8 r/ U: P1 f2. unicode-bidi:, M5 u5 i; R# C1 Z! I
语法:
/ {0 `" N. S, R9 I unicode-bidi : normal | bidi-override | embed
) P4 K; j- }, }5 V' z% \0 K 取值:" ]4 b L$ B$ m, `) W8 U
normal :默认值。对象不打开附加的嵌入层,对于内联要素,隐式重排序跨对象边界进行工作
( @- ~' C+ v' k, w. g# Z5 H" _ bidi-override :严格按照 direction 属性的值重排序。忽略隐式双向运算规则4 J6 c3 Q6 R( Z0 k' b( ^( z: `
embed :对象打开附加的嵌入层, direction 属性的值指定嵌入层,在对象内部进行隐式重排序. E: Y% y7 T4 q
2 ]* n5 B! `0 U: R
说明:1 V5 h6 F: ^' \: }" N# N6 G6 @3 Y
用于同一个页面里存在从不同方向读进的文本显示。与 direction 属性一起使用。8 u: `6 y; C$ ^; O% [
假如您想应用 direction 属性于内联文本,您必须设定此属性值为 embed 或 bidi-override 。5 G% x0 @% m# u! c
Unicode 双向运算法则自动翻转嵌入字符顺序依照它们固有的流动方向。例如,英文文档的默认书写方向是左-右,假如其
8 A6 o5 B' i& H 中包含的部分其他语种的字符其书写方向是右-左,双向运算法则就可以用来代理用户正确的反转其流动方向。
+ v3 E, h3 b$ A' R& `0 c+ {1 D/ r7 U' X5 z! q$ B5 B V4 ^- h
5 f+ u) V( N4 c& L3 g, r# [& I: D方法三(JS):% z9 O( _+ @6 r9 V' ~( y; O2 ~
设置 text-align:right;然后翻转所有字符串。" X, P4 w; _% O" o H. `8 [
不推荐使用此方法,一是容易出错,二是大量JS操作,损耗性能。# ]) V' l, z( b9 ^' e8 ]6 K
! |& I3 R4 S9 t3 B
参考文章:
3 w9 m1 A |, Y8 Y( E* jhttps://blog.csdn.net/weixin_34254823/article/details/91369585
$ ^1 C9 |4 Z3 s7 v! y2 x8 i" ]- {https://blog.baiwand.com/?post=212
8 H7 d9 H9 @3 m9 K8 o |