这里奇怪的多语言问题:
我有一个<ul>
with<li>
显示的项目display:inline
。
当我使用body{direction:rtl}
样式指令时,这些项目不会改变顺序。
是否有任何技巧可以反转<li>
RTL(例如阿拉伯语)语言支持的项目顺序?
这里奇怪的多语言问题:
我有一个<ul>
with<li>
显示的项目display:inline
。
当我使用body{direction:rtl}
样式指令时,这些项目不会改变顺序。
是否有任何技巧可以反转<li>
RTL(例如阿拉伯语)语言支持的项目顺序?
也许如果你添加?
ul li {
float:right;
}
但如果涉及到排序列表,您应该使用ol
而不是ul
.
添加规则
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'。”</p>
这有点含糊,但上面的代码适用于现代浏览器(否则在处理方向性方面表现出许多差异)。
更改方向只会将项目移动到屏幕的右侧或左侧。它不会更改ul
. 要更改顺序,您可以像这样使用JQuery:
ul = $('#my-ul'); // your parent ul element
ul.children().each(function(i,li){ul.prepend(li)})