html - 我如何使用伪元素 :after :before conditionally

原文 标签 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>

我希望可能发生的 CSS:
ul li a:after if(next:ul) {
   content:"->";
}

我不是要使用 JavaScript/jQuery。我意识到条件是否不是 css 的一部分。
有没有办法做到这一点?

最佳答案

一般来说,不可能根据它们的下一个兄弟元素来选择元素。

在您的具体情况下,您可以使用 ul li a:not(:last-child)::after ,因为碰巧你的 anchor 后面没有 <ul> element 也是最后一个子元素。

关于html - 我如何使用伪元素 :after :before conditionally,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19453682/

相关文章:

html - 计算固定元素内绝对位置div内固定div的宽度

javascript - ng-model 和下拉菜单,获取名称,而不是值

html - 使用CSS在视觉上将长字符串分成多个块(但在复制时保留原始格式)

html - HTML表格中的颜色未考虑在内

Python Selenium 单击带有类的按钮

jquery - 使用jQuery删除每四个可见元素的右边距?

javascript - 如何使用javascript从一种形式获取值(value)并将其发布到另一种形式?

html - CSS Nth-Child作品奇怪

html - 将 float 元素组织到动态网格中

css - 多个nth Child语句