登录后,购买下载资源更方便!
您需要 登录 才可以下载或查看,没有账号?立即注册
×
针对多语言市场特别是包含 RTL(从右向左)语言(如阿拉伯语、波斯语、希伯来语)的国际化布局,需要通过系统化的架构设计和关键技术适配实现高兼容性方案。
8 h9 q A; i' T8 A3 q+ ?1 T以下是优化后的全链路解决方案:
# j3 U s2 e0 l9 N$ I4 T
9 _3 Y3 w- @! O* D$ Q/ k! |方法一:
: ^9 ~+ I* Y" x$ B$ _html标签中添加 dir="rtl" 属性1 V8 T8 V/ k$ @, w# L
<html DIR=RTL> 改变文档的书写顺序
7 s( O8 q$ a+ N) Q4 T( j3 ^ ~& G4 m7 j5 x" {' I8 t. v
- <!-- 动态语言标记(关键!) --># \7 ^7 n( r1 w- {+ N
- <html lang="{lang}" dir="{dir}"> <!-- 如 lang="ar" dir="rtl" -->
9 w7 t2 @- H1 {) V
复制代码 ! j1 \! E0 m, Y" L6 E% {% S
方法二(css):6 Y s* D; t/ r* V
html{direction:rtl;unicode-bidi:bidi-override;}
a; e3 C2 m0 t* V% X, p7 g给html添加如上样式就可以了。
1 y) H# _: v, o" `
* }: t# H$ K/ v4 n& K; d) c1. direction:
: s7 A5 P$ G' t! H* m5 T 语法:% @5 Z; h' l+ b" n3 ~9 i" N' k
direction : ltr | rtl | inherit
; h2 X7 q& i% c 取值:. @9 o" _8 _3 \ r- n0 z
ltr : 默认值。文本从左到右流入
( x: y$ f4 t3 y; e rtl : 文本从右到左流入
' o: \$ T. f5 N3 M inherit : 文本流入方向由继承获得
: \! o+ L2 l6 q: _/ Q, e5 W& c 说明:
1 @/ Q6 e; A; | s4 o 用于设置文本流入的方向。
1 j- }# i7 m# z! s 此属性不会影响拉丁文的字母数字字符,它们总是以 ltr 值被呈递。但是此属性会作用于拉丁文的标点符号。
/ a. i* l; g' M. ?" S 假如您想应用此属性于内联文本,您必须设定 unicode-bidi 属性为 embed 或 bidi-override 。* H5 ~/ i* S7 F4 t) T
2. unicode-bidi:4 D) M! Z& k5 M* p$ Q% s
语法:0 `6 H% A( P0 p& Q% t2 D
unicode-bidi : normal | bidi-override | embed
( `6 o; z( s. X7 u. t- [ 取值:( d" W1 m/ P/ r# z! o, }3 Z
normal :默认值。对象不打开附加的嵌入层,对于内联要素,隐式重排序跨对象边界进行工作
6 N# [* C3 p2 x0 |9 P bidi-override :严格按照 direction 属性的值重排序。忽略隐式双向运算规则
8 c- V( c: L6 @ embed :对象打开附加的嵌入层, direction 属性的值指定嵌入层,在对象内部进行隐式重排序, [1 K$ N5 C+ i( d) s+ Y
# D V5 I' P: {4 L$ I& G8 V
说明:# @# [7 Z8 h: i$ b4 R
用于同一个页面里存在从不同方向读进的文本显示。与 direction 属性一起使用。) d1 O- q/ y* J8 ^" p: |
假如您想应用 direction 属性于内联文本,您必须设定此属性值为 embed 或 bidi-override 。
% d( C z/ E+ B! T3 F' K8 e, p Unicode 双向运算法则自动翻转嵌入字符顺序依照它们固有的流动方向。例如,英文文档的默认书写方向是左-右,假如其
}; y8 r) e# L4 A 中包含的部分其他语种的字符其书写方向是右-左,双向运算法则就可以用来代理用户正确的反转其流动方向。2 B5 M; D" y) G
/ M+ a5 x: o/ g& ]! L. ~: X
2 e8 H" w4 i p: A( z4 n- i
方法三(JS):7 p( F- F# a, c& Y7 b; |
设置 text-align:right;然后翻转所有字符串。$ b; y& T6 d. j# w2 Q4 M% H# V7 s% s
不推荐使用此方法,一是容易出错,二是大量JS操作,损耗性能。
4 z# l! D/ @6 h2 z2 V
" d7 H9 J# R! ~8 Q1 ^% U参考文章:
/ @- j4 S! j. e- H0 fhttps://blog.csdn.net/weixin_34254823/article/details/91369585
: R U' Y% K7 q1 M' ]- N$ zhttps://blog.baiwand.com/?post=212* y/ A' l% u8 i/ O1 m! o
|