奇怪的多语言问题:
我有一个<ul>
个<li>
项,与display:inline
一起显示。
当我使用body{direction:rtl}
样式指令时,这些项目不会改变顺序
是否有任何技巧可以反转RTL(例如阿拉伯语)语言支持的<li>
项的顺序?
答案 0 :(得分:1)
更改方向只会将项目移动到屏幕的右侧或左侧。它不会更改ul
内项目的ORDER。
要更改顺序,您可以使用JQuery,如下所示:
ul = $('#my-ul'); // your parent ul element
ul.children().each(function(i,li){ul.prepend(li)})
答案 1 :(得分:1)
添加规则
ul { unicode-bidi: bidi-override; }
警告:根据浏览器的不同,这也可能导致像“1234”这样的字符串从右到左显示。您可能需要在此类元素上设置unicode-bidi: bidi-override; direction: rtl
。
根据CSS 2.1规范,direction
属性“指定块的基本写入方向以及Unicode双向算法的嵌入和覆盖方向(请参阅”unicode-bidi“)。此外,它还指定了诸如表格列布局的方向,水平溢出的方向,块中不完整的最后一行的位置,以及'text-align:justify'。“但内联框排序不受影响。后来,它补充道:
“对于影响内联元素重新排序的'direction'属性,'unicode-bidi'属性的值必须为'embed'或'override'。”
这有点模糊,但上面的代码适用于现代浏览器(否则在处理方向性方面存在很多差异)。
答案 2 :(得分:0)
也许你添加?
ul li {
float:right;
}
但如果涉及订购列表,则应使用ol
代替ul
。