Obwohl es nicht sehr praktisch ist, kann man dieses Verhalten heutzutage erreichen, indem man die Reihenfolge der Elemente sowohl bei der Generierung des HTML als auch bei der Anwendung der CSS-Regeln umkehrt: display: flex
y flex-direction: column-reverse
ul {
display: flex;
flex-direction: column-reverse;
}
.b ~ .a {
color: red;
}
<ul>
<li class="a">A 3</li>
<li class="c">C 2</li>
<li class="c">C 1</li>
<li class="b">B 1</li>
<li class="a">A 2</li>
<li class="a">A 1</li>
</ul>
Wenn Sie 2 oder mehr Inline-Elemente haben, können Sie dies auch erreichen, indem Sie float: right
, da sie in umgekehrter Reihenfolge angezeigt werden:
ul {
float: left;
list-style-type: none;
}
li {
float: right;
}
li:not(:first-child) {
margin-right: 20px;
}
.b ~ .a {
color: red;
}
<ul>
<li class="a">A 3</li>
<li class="c">C 2</li>
<li class="c">C 1</li>
<li class="b">B 1</li>
<li class="a">A 2</li>
<li class="a">A 1</li>
</ul>