我有一个从用户输入生成的列表。列表的内容可以来自任何语言,包括RTL语言。
如何根据语言自动更改列表的方向?
我知道unicode-bidi
适用于任何常规旧文本,direction
属性无法像Dir属性那样获得“自动”值。
例如:
<ul>
<li>english</li>
<li>left to right</li>
</ul>
<ul>
<li>עברית</li>
<li>ימין לשמאל</li>
</ul>
只有css更改应该输出2列表一个浮动到左边,点到文本左边,反之亦然
答案 0 :(得分:1)
您可以在html中的元素上设置lang
属性。与unicode-bidi
结合使用可以让你做你想做的事。
我不确定你要做什么,但这里有一个例子: https://jsfiddle.net/veytqdwx/9
答案 1 :(得分:0)
使用父div上的类来识别。如果语言类似于英语,则为父级分配一个类。由于您的内容是动态的,因此应该可以这样做。
<div class="english-menu">
<ul>
...
</ul>
...</div>
然后风格在css中相应
.english-menu{
float: left;
... //whatever else
}
答案 2 :(得分:0)
由于我还没有找到任何只使用css动态更改(并自动检查)的答案,
有效的第二个最佳选择是将dir="auto"
添加到<ul>
或<ol>
,如下所示:
<ul dir="auto">
<li></li>
...
</ul>
我刚刚问负责生成列表的人将其添加到他的c代码中,而unicode-bidi: plaintext;
css规则仍然存在。
截至目前,我认为没有选择只使用css3