【解决】阿拉伯语等右向左排版文字CSS解决方案

国际化市场,二十七国文字,其中免不了“反常态”的语种,比如,阿拉伯语,波斯语,希伯来文等,书写和阅读习惯都是从右向左,所以文字排版也要求是从右向左。
总结了一些解决方案,详细如下:

方法一:
html标签中添加 dir=”rtl” 属性
改变文档的书写顺序
这里写图片描述

方法二(css):
html{direction:rtl;unicode-bidi:bidi-override;}
给html添加如上样式就可以了。

1. direction:
        语法:
          direction : ltr | rtl | inherit
            取值:
          ltr  :  默认值。文本从左到右流入
          rtl  :  文本从右到左流入
          inherit  :  文本流入方向由继承获得
       说明:
          用于设置文本流入的方向。
          此属性不会影响拉丁文的字母数字字符,它们总是以 ltr 值被呈递。但是此属性会作用于拉丁文的标点符号。
          假如您想应用此属性于内联文本,您必须设定 unicode-bidi 属性为 embed 或 bidi-override2. unicode-bidi:
          语法:
         unicode-bidi : normal | bidi-override | embed
          取值:
         normal  :默认值。对象不打开附加的嵌入层,对于内联要素,隐式重排序跨对象边界进行工作
         bidi-override  :严格按照 direction 属性的值重排序。忽略隐式双向运算规则
         embed  :对象打开附加的嵌入层, direction 属性的值指定嵌入层,在对象内部进行隐式重排序

       说明:
         用于同一个页面里存在从不同方向读进的文本显示。与 direction 属性一起使用。
         假如您想应用 direction 属性于内联文本,您必须设定此属性值为 embed 或 bidi-override 。
         Unicode 双向运算法则自动翻转嵌入字符顺序依照它们固有的流动方向。例如,英文文档的默认书写方向是左-右,假如其
         中包含的部分其他语种的字符其书写方向是右-左,双向运算法则就可以用来代理用户正确的反转其流动方向。

方法三(JS):
设置 text-align:right;然后翻转所有字符串。
见德问 js如何实现css 中的direction: rtl效果
不推荐使用此方法,一是容易出错,二是大量JS操作,损耗性能。

参考:迪拜的官方网站www.dm.gov.ae


转发自:http://blog.baiwand.com/?post=212

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值