【问题标题】:CSS direction:rtl and top to bottom?CSS方向:rtl和从上到下?
【发布时间】:2014-05-06 08:00:01
【问题描述】:

我正在使用以下 CSS 从右到左阅读文本:

.rtl { unicode-bidi:bidi-override;direction:rtl;width:300px;}

<span class="rtl">.tfel οt thgir mοrf daer si txet sihT</span>

它是一个实验性网站的一部分,它将显示源代码中的所有文本反转,但用户可读。

如果我只有一个文本句子,它会很好用。但是,一旦文本的长度大于元素的大小(在本例中为 300 像素),句子的顺序就不再起作用。例如:

来源:

<div class="rtl"> .skaerb txet eht ,htgnel niatrec a tsaP .yllamron demrof era shpargarap eht rehtehw ees ot secnetnes lareves dedulcni ev'I dna ,tfel ot thgir morf daer si txet sihT</div>

输出:

(因为我不能发图片,那就是:http://img4.hostingpics.net/pics/990715343.jpg

如您所见,第一句“This text is read from right to left”是在底部对齐的,这意味着段落的顺序是错误的。

是否有另一种方法可以使文本正常从上到下流动并从右到左阅读?

谢谢

【问题讨论】:

  • 文本确实从上到下正常流动。强制书写方向从右到左不会改变垂直布局方向:从元素(“.skaerb txet eht ,htgnel...”)开始的数据被收集,直到没有更多字符适合第一行,然后它们从右到左排列,然后格式化下一行等。

标签: css bidi


【解决方案1】:

看起来(正如我在评论中解释的那样)您实际上希望文本行从下到上布置。目前没有标准或跨浏览器的方式来实现这一点。在 IE(版本 8 和更新版本)上,您可以使用 writing-mode: rl-bt(从右到左,从下到上)。您可能还希望设置text-align: left,因为从右到左的方向默认意味着右对齐,这对于从右到左的语言来说是可以的,但对于从左到右的语言书写方向的技巧则不然。

【讨论】:

  • writing-mode 属性在 Internet Explorer 8+ 中效果很好。我知道双向覆盖和文本方向可能不适合我的实验。是否有任何 CSS 可以显示两个标签之间的所有内容反转(以实现 IE 8 的功能)?
  • @bidouillages,不,这意味着其他浏览器实现了相同或类似的功能,而这并没有发生。可能您应该寻找 JavaScript 解决方案(如果内容只是文本,则很简单)。
猜你喜欢
  • 2011-08-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-12
  • 1970-01-01
  • 2016-11-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多