登录后,购买下载资源更方便!
您需要 登录 才可以下载或查看,没有账号?立即注册
×
针对多语言市场特别是包含 RTL(从右向左)语言(如阿拉伯语、波斯语、希伯来语)的国际化布局,需要通过系统化的架构设计和关键技术适配实现高兼容性方案。: a: L4 T: Q' j" Q* p* Q
以下是优化后的全链路解决方案:# D9 B$ S: c5 M$ k7 ~- d
1 g) m, ~+ x t3 k方法一:) @! m3 ^$ X3 j4 C# j/ {' G
html标签中添加 dir="rtl" 属性# `- V' M* [8 q9 [* d# ^
<html DIR=RTL> 改变文档的书写顺序
2 i `/ [0 Q6 [+ G) @8 b# ~
0 v4 o: l7 b! n1 `1 o) j- <!-- 动态语言标记(关键!) -->
* o6 t9 P. o6 z% x - <html lang="{lang}" dir="{dir}"> <!-- 如 lang="ar" dir="rtl" -->- O, U! @# c u
复制代码 2 a% t* i5 r7 l, j
方法二(css):
% s @* D+ _5 G) O5 i" t: g) w( Qhtml{direction:rtl;unicode-bidi:bidi-override;}9 D' q3 Z+ \( p4 n% D' g
给html添加如上样式就可以了。
; z: N$ U# U m$ t7 `/ j5 t/ N1 N7 v( S
1. direction:0 @, G* [# D5 ?6 E9 X* y8 p
语法:
. X0 q& N% Q6 D# J& Z$ f b0 d7 | direction : ltr | rtl | inherit1 H& {" {6 }* Z
取值:5 k0 r# R6 ]# i" W6 ?
ltr : 默认值。文本从左到右流入' ^. C# p& ^4 i: |! s+ Y
rtl : 文本从右到左流入
8 W* ^) K! l3 E0 ]+ w) i3 v( Z inherit : 文本流入方向由继承获得
- }: {2 Q7 J3 L; H+ |* Y 说明:# P( ]* b5 U/ {& `( F! E
用于设置文本流入的方向。
. E( J2 x$ V/ k% d) B1 H( w+ C 此属性不会影响拉丁文的字母数字字符,它们总是以 ltr 值被呈递。但是此属性会作用于拉丁文的标点符号。4 J, x: Y/ L8 `
假如您想应用此属性于内联文本,您必须设定 unicode-bidi 属性为 embed 或 bidi-override 。
`% M, n! l' b- M2. unicode-bidi:
5 d& X2 c. ^0 \ N3 T. N 语法:
' f7 x( W x/ Z$ v' e unicode-bidi : normal | bidi-override | embed
* J6 ^) c7 ]' A6 Y i 取值:# l3 S* X. x$ @0 q) ?' u
normal :默认值。对象不打开附加的嵌入层,对于内联要素,隐式重排序跨对象边界进行工作
2 F, a" @, S& g8 A5 X$ J bidi-override :严格按照 direction 属性的值重排序。忽略隐式双向运算规则
4 {" |* R+ q' v' ~; V embed :对象打开附加的嵌入层, direction 属性的值指定嵌入层,在对象内部进行隐式重排序& q0 A8 F/ @" j- \. S
* C* m) F1 g2 T 说明:
' L8 L- y$ w2 _7 K2 I ~& g 用于同一个页面里存在从不同方向读进的文本显示。与 direction 属性一起使用。
+ h7 {2 l% F3 Z6 Q% e" p4 I6 ] 假如您想应用 direction 属性于内联文本,您必须设定此属性值为 embed 或 bidi-override 。
+ K5 P, R: w2 Z Unicode 双向运算法则自动翻转嵌入字符顺序依照它们固有的流动方向。例如,英文文档的默认书写方向是左-右,假如其
- ]! }* b$ n& R 中包含的部分其他语种的字符其书写方向是右-左,双向运算法则就可以用来代理用户正确的反转其流动方向。% v' s* N7 M$ @8 v- r
3 c% o/ d, y, [3 L% c9 w; \
; z/ B; w/ w; H* b& f7 R方法三(JS):
1 ]5 k' T( ?' b; q% t$ J1 W/ v设置 text-align:right;然后翻转所有字符串。
: L6 p) T# a9 A, l不推荐使用此方法,一是容易出错,二是大量JS操作,损耗性能。; e! k- o: w( D
" `5 n6 m7 e7 \8 K
参考文章:. v& K& f& p; ^' R( k( X+ { C+ G
https://blog.csdn.net/weixin_34254823/article/details/91369585
9 {& J+ \! X1 _( ohttps://blog.baiwand.com/?post=212
) r3 C3 J9 r$ T# f, w' b% Y |