Css 如何在没有Javascript或Jquery的另一个类之前标记包含类的元素?

Css 如何在没有Javascript或Jquery的另一个类之前标记包含类的元素?,css,Css,我有一份要素清单: <ul> <li class="one">some text</li> <li class="one">some text whit red background</li> <li class="two">some text</li> <li class="one">some text</li> <li class="one">some text&

我有一份要素清单:

<ul>
 <li class="one">some text</li>
 <li class="one">some text whit red background</li>
 <li class="two">some text</li>
 <li class="one">some text</li>
 <li class="one">some text</li>
 <li class="one">some text whit red background</li>
 <li class="two">some text</li>
 <li class="one">some text</li>
</ul>
  • 一些文本
  • 一些红色背景的文本
  • 一些文字
  • 一些文本
  • 一些文本
  • 一些红色背景的文本
  • 一些文字
  • 一些文本
我只需要在类“2”之前用类“1”标记元素。 这是可能的清洁css

我试过N个孩子和一些,但没有成功

更新


如果我理解正确,您希望以“一”类的所有li为目标,然后以“二”类的li为目标

如果问题是以“一”类的li为目标,然后再以“二”类的li为目标,那么答案将是相邻的兄弟组合符:

.two + .one {...}
但似乎你需要的是相反的:一个以前的兄弟组合。不幸的是,似乎没有一个简单的方法来做到这一点(在CSS中)


否则,您可以使用JavaScript执行此操作。

是,正确。我更新问题。谢谢你的链接。不幸的是,没有一种方法是合适的。目前唯一可行的方法是,将DOM中元素的顺序颠倒过来,然后使用flexbox再次以相反的顺序显示它们。