Css Chrome,从右到左,带有<;ul>;
我在用chrome设计菜单时遇到了一些问题。菜单在ltr模式下看起来很好,但在从右到左模式下,它在Chrome中中断 我这里有一把小提琴: 在firefox中,ltr中的菜单是“一-二-三”,rtl中的菜单是“三-二-一”。它始终渲染为“一二三” 你知道为什么会发生这种情况,或者我怎么能在没有整个菜单上的第一个“li”的情况下设计这种风格 谢谢 此外,以下是代码:Css Chrome,从右到左,带有<;ul>;,css,google-chrome,right-to-left,Css,Google Chrome,Right To Left,我在用chrome设计菜单时遇到了一些问题。菜单在ltr模式下看起来很好,但在从右到左模式下,它在Chrome中中断 我这里有一把小提琴: 在firefox中,ltr中的菜单是“一-二-三”,rtl中的菜单是“三-二-一”。它始终渲染为“一二三” 你知道为什么会发生这种情况,或者我怎么能在没有整个菜单上的第一个“li”的情况下设计这种风格 谢谢 此外,以下是代码: <!doctype html> <head> <style> .navigation { f
<!doctype html>
<head>
<style>
.navigation { float:right; }
ul#main-menu {
list-style-type: none;
direction:rtl;
}
li {
border: 2px solid black;
padding: 5px 10px;
position: relative;
}
ul#main-menu span#tail1 {
position:absolute;
bottom:-21px;
left:10px;
width:0;height:0;
border-color:#000000 transparent transparent transparent;
border-style:solid;
border-width:10px;
}
ul#main-menu span#tail2 {
position:absolute;
bottom:-18px;
left:10px;
width:0;height:0;
border-style:solid;
border-width:10px;
}
ul.inline li {
display:inline;
}
</style>
</head>
<body>
<nav class="navigation">
<ul id="main-menu" class="links inline clearfix main-menu">
<li class="menu-1501 first"><a href="/fa/blogs" title="">One</a><span id='tail1'> </span>
<span id='tail2'></span></li>
<li class="menu-1014"><a href="/fa/node/2" title="">Two</a><span id='tail1'></span><span id='tail2'></span></li>
<li class="menu-1759 active-trail last active"><a href="/fa/projects" class="active-trail active">Three</a><span id='tail1'></span><span id='tail2'></span></li>
</ul>
</nav>
</body>
</html>
.navigation{float:right;}
ul#主菜单{
列表样式类型:无;
方向:rtl;
}
李{
边框:2件纯黑;
填充物:5px10px;
位置:相对位置;
}
ul#主菜单跨度#尾部1{
位置:绝对位置;
底部:-21px;
左:10px;
宽度:0;高度:0;
边框颜色:#000000透明;
边框样式:实心;
边框宽度:10px;
}
ul#主菜单跨度#尾部2{
位置:绝对位置;
底部:-18px;
左:10px;
宽度:0;高度:0;
边框样式:实心;
边框宽度:10px;
}
李先生{
显示:内联;
}
试试这个:
.navigation { float:right; }
ul#main-menu {
list-style-type: none;
direction:rtl;
}
li {
border: 2px solid black;
padding: 5px 10px;
position: relative;
}
ul#main-menu span#tail1 {
position:absolute;
bottom:-21px;
left:10px;
width:0;height:0;
border-color:#000000 transparent transparent transparent;
border-style:solid;
border-width:10px;
}
ul#main-menu span#tail2 {
position:absolute;
bottom:-18px;
left:10px;
width:0;height:0;
border-style:solid;
border-width:10px;
}
ul.inline li {
display:inline-block;
}
我认为这是最简单的方法- 您应该同时做好以下两项工作:
ul, li
{
direction:rtl;
}
你可以查看LTR兼容性表,看看Chrome是否滞后,但我怀疑。。。您确定这是使用LTR的正确方法吗?(我不知道)将
ul.inline li
更改为display:inline block
似乎可以解决问题,但我无法告诉您为什么我认为元素没有重新排序,因为它们不是块。显然,rtl只改变块和表的流。我想这是关于chrome是严格的,firefox是容易操作的。刚才看到了rtl跨度,然后是ltr跨度,将第二个跨度切换为p,解决了这个问题。W3c似乎并没有提出这种行为,只是遇到了一个问题:ul内部的rtl行为与外部不同,并且它在Edge上运行良好,这意味着,这是一个罕见的chrome错误。虽然6年后:/