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>元素也是最后一个子元素。

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

相关文章:

css - IE 边框打破导航

跨浏览器自动完成的带有 JQueryUI 的 CSS

jquery - 获取 anchor 标题并放入输入中

css - 更改应触发操作的 div 的父 div 之外的 div 的颜色

css - 是否有可能有一个嵌套的 CSS,以便其中的所有规则只适用于某个元素的子元素?

php - 如何使用 fopen() 和来自表单 $value 的变量创建基于表单的文件?

html - 网页不适合移动设备,没有响应

html - 普通网站如何开启https协议(protocol)?

html - 所有图像替换技术有什么用?

css - 无法使用类名进行选择 - Selenium