我怎么能使用伪元素:after:在有条件之前

Jas*_*lia 4 html css css-selectors

如果我只想在链接后插入一个伪元素,只有在链接后面跟着另一个元素说ul.我怎么能这样做?

例:

<ul>
    <li>
        <a href="#">blah<!-- insert -> here with CSS --></a>
        <ul>
            <li>More stuff</li>
        </ul>
    </li>
    <li>
        <a href="#">blah 2<!--Do nothing here--></a>
    </li>
</ul>
Run Code Online (Sandbox Code Playgroud)

CSS我希望可能发生:

ul li a:after if(next:ul) {
   content:"->";
}
Run Code Online (Sandbox Code Playgroud)

我不是想尝试使用JavaScript/jQuery.我意识到如果条件不是css的区别.有没有办法做到这一点?

Rob*_*b W 6

通常,不可能根据下一个兄弟选择元素.

在您的特定情况下,您可以使用ul li a:not(:last-child)::after,因为您的锚点未被<ul>元素跟随也是最后一个子元素.