css - 向只有子菜单的菜单项添加下拉箭头指示器?

标签 css navigation html-lists submenu

我目前正尝试在我的导航菜单上为具有子菜单选项的元素添加箭头指示器。

目前我正在使用这个 CSS:

.mainNav li > a:after {
   color: #444;
   content: ' ▾';
}

但这会为每个 <li> 添加一个下拉箭头不管是否有子菜单。有没有办法只使用 CSS 将此箭头添加到具有子元素的元素?

谢谢!

最佳答案

没有。 CSS 没有 contains child 选择器。您最好只向 li 元素添加一个类。例如:

<li class="has-child">
    <a href="#">The Link</a>
    <ul class="child">
        <li>Child 1</li>
    </ul>
</li>

您的 CSS 选择器依次如下所示:

.mainNav li.has-child > a:after {
   color: #444;
   content: ' ▾';
}

如果可以的话,您可以让 jQuery 为您添加类:

$('.mainNav li:has(ul)').addClass('has-child');

jsFiddle Demo

关于css - 向只有子菜单的菜单项添加下拉箭头指示器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21190694/

相关文章:

javascript - 如何在后台设置 BPG

jquery - 如何摆脱可折叠菜单的 "blinking"重新加载效果?

jquery - IE 中的导航损坏

jquery click事件,使用next和prev将列表项滚动到div的顶部

javascript - 如果用户选择某些选项,则勾选复选框

html - 100% 高度 CSS,固定页脚

html - Flexbox 父计算宽度而不会溢出的问题 : hidden

c++ - 用于类似 GUI 的终端导航(vim/lynx 样式)的食谱/教程/库?

javascript - Angular 4 + zonejs : routing stops working after uncaught error

html - 如何将 <li> 放在 <ul> 之上