登录后,购买下载资源更方便!
您需要 登录 才可以下载或查看,没有账号?立即注册
×
针对多语言市场特别是包含 RTL(从右向左)语言(如阿拉伯语、波斯语、希伯来语)的国际化布局,需要通过系统化的架构设计和关键技术适配实现高兼容性方案。, ]1 o3 I. b, H8 q5 B5 G
以下是优化后的全链路解决方案:
& e! ?2 i' t8 E
' h+ I; [( w% ^' E) d方法一:. q- K! r; `8 q6 o9 h6 G
html标签中添加 dir="rtl" 属性1 N% @1 S4 ^+ s8 @# g! \" f" ~
<html DIR=RTL> 改变文档的书写顺序) g2 C6 S0 s3 ~" @+ _$ G6 ~$ l2 K
2 n" [; L( U* u2 `- ^- <!-- 动态语言标记(关键!) -->
( ^# v2 ]/ u2 j4 K - <html lang="{lang}" dir="{dir}"> <!-- 如 lang="ar" dir="rtl" -->
( R) l- Z2 B" Y# J
复制代码
2 f& x7 r/ b9 A; X+ }( y! M& k. j方法二(css):6 U' r/ ?7 k1 L
html{direction:rtl;unicode-bidi:bidi-override;}
- x- t `4 S4 J% t/ ?# p2 n8 R* ~1 ^给html添加如上样式就可以了。& S9 [% O1 p2 f7 I0 M
, l3 s& s. o: C: P: L3 `$ i( G
1. direction:
& y) Q. R0 X4 B$ f 语法:; x4 c- |4 n* ?* @$ d. G( o
direction : ltr | rtl | inherit" x, N2 L/ V3 b# [
取值:" I5 j: y J# T4 Z @
ltr : 默认值。文本从左到右流入! d8 F: ^) X" B' ~( h& ]( Z8 C' Y4 o7 a
rtl : 文本从右到左流入, p) D1 |, h9 \! O: a- ^ c, H
inherit : 文本流入方向由继承获得
' s2 {$ d# R0 U; A1 s+ l2 P) x 说明:7 T# o& V) ~6 k4 J6 k. Z; X
用于设置文本流入的方向。( U8 I' e, ^. R$ G( K" t
此属性不会影响拉丁文的字母数字字符,它们总是以 ltr 值被呈递。但是此属性会作用于拉丁文的标点符号。
6 d9 Y& G7 {/ J$ Z 假如您想应用此属性于内联文本,您必须设定 unicode-bidi 属性为 embed 或 bidi-override 。* Q) K4 B0 S x1 R! N9 n1 {
2. unicode-bidi:
; q% |( k0 e, M' q/ H+ Z 语法:5 H" r( J1 g! @- b6 B; i4 P1 s+ f+ |
unicode-bidi : normal | bidi-override | embed: I- `/ Y% |9 t# @1 Y1 C
取值:2 X9 a# H+ j3 v+ k) G
normal :默认值。对象不打开附加的嵌入层,对于内联要素,隐式重排序跨对象边界进行工作% h$ \1 T9 x1 m7 |
bidi-override :严格按照 direction 属性的值重排序。忽略隐式双向运算规则8 e: Y9 c$ N6 M! Q6 n: `2 [
embed :对象打开附加的嵌入层, direction 属性的值指定嵌入层,在对象内部进行隐式重排序1 }& Z: Z2 B# p
/ J; h; h7 x9 e8 `
说明:; g* `& v' g) D+ v
用于同一个页面里存在从不同方向读进的文本显示。与 direction 属性一起使用。) ]1 n r/ D: E
假如您想应用 direction 属性于内联文本,您必须设定此属性值为 embed 或 bidi-override 。
5 {9 q5 |/ P/ G Unicode 双向运算法则自动翻转嵌入字符顺序依照它们固有的流动方向。例如,英文文档的默认书写方向是左-右,假如其# l8 b4 M, h7 H1 n
中包含的部分其他语种的字符其书写方向是右-左,双向运算法则就可以用来代理用户正确的反转其流动方向。
4 h4 D i: V X# r+ t+ u
& H6 M. ]/ u4 {! K7 M; k: H8 l8 V2 R) @
方法三(JS):
+ y& L1 o! i" R5 H& \7 A设置 text-align:right;然后翻转所有字符串。+ Z) h, b) X3 ?, ^0 o
不推荐使用此方法,一是容易出错,二是大量JS操作,损耗性能。9 F, U8 V( Z4 C0 l+ j/ d3 R/ G
8 M: D3 V& h+ \, j+ Q& X
参考文章:8 }2 P/ x& k# A2 {5 b$ E% Q5 Z4 ]0 @
https://blog.csdn.net/weixin_34254823/article/details/91369585# {- }: y4 h# g( {7 K
https://blog.baiwand.com/?post=2121 d8 _2 z1 R5 `/ k; V
|