如何在一行中设置两组<li>的样式?

Maj*_*jid 6 html css css3 html-lists

我希望在一行中有两组列表项,以便一组从左到右,另一组从右到左; 像这样:

[li1 li2 li3]........................................[li6 li5 li4]
Run Code Online (Sandbox Code Playgroud)

我试过这个:

li{
  display:inline;
 }
#left{
  float:left;
 }
#right{
  float:right;
  direction:rtl;
 }
Run Code Online (Sandbox Code Playgroud)
<ul>
  <span id="left">
    <li> item1</li>
    <li> item2</li>
    <li> item3</li>
    </span>
  <span id="right">
    <li> item4</li>
    <li> item5</li>
    <li> item6</li>
    </span>
</ul>
Run Code Online (Sandbox Code Playgroud)

输出有效,但代码无效,因为它<span>直接在a下使用<ul>.

什么是有效的代码?

Chr*_*ris 8

你是正确的<span>直接<ul>无效.这里有一些解决方案:

float<li>直接元素.

li{
  display:inline;
  float: left;
 }
.right{
  float:right;
  direction:rtl;
 }
Run Code Online (Sandbox Code Playgroud)
<ul>
    <li> item1</li>
    <li> item2</li>
    <li> item3</li>
    <li class="right"> item4</li>
    <li class="right"> item5</li>
    <li class="right"> item6</li>
</ul>
Run Code Online (Sandbox Code Playgroud)


使用nth-of-typenth-child.

我认为这是一个很好的清洁解决方案.虽然如果在列表中添加/删除项目,则必须更改css:

li {
  display: inline;
  float: left;
}
li:nth-of-type(n+4) {
  float: right;
}
Run Code Online (Sandbox Code Playgroud)
<ul>
  <li>item1</li>
  <li>item2</li>
  <li>item3</li>
  <li>item4</li>
  <li>item5</li>
  <li>item6</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

此外,您似乎可以省略direction: rtl代码中的内容.