【问题标题】:Why doesn't this CSS selector work (selecting sub-menu in Wordpress)为什么这个 CSS 选择器不起作用(在 Wordpress 中选择子菜单)
【发布时间】:2011-08-16 15:24:32
【问题描述】:

我正在尝试从 Wordpress 默认侧边栏菜单中选择子菜单项,并且我正在尝试为此编写 CSS 选择器。我以为我了解 CSS 选择器,但我不知道在这种情况下发生了什么。

以下是有效的:

.widget_nav_menu ul .menu-item .sub-menu { background: red; }
.widget_nav_menu ul .menu-item li { background: red; }

虽然这个不起作用:

.widget_nav_menu ul .menu-item li .sub-menu { background: red; }

谁能给我解释一下为什么我不能在这里指定类和类型来更精确地指定一些东西?

幸运的是,在这个级别的自定义中,我不需要更精确地选择东西(我只想隐藏子菜单项),但是有人可以告诉我如何使不工作的示例工作吗?

这是一个live site,但在所有带有 TwentyTen 主题和左侧多级菜单的 Wordpress 安装中都是相同的。

更新:我想我对 CSS 中空格的使用有很大的误解,所以我在这里问了一个问题:usage of spaces in CSS files

顺便说一句,在了解了答案并意识到我的问题出了什么问题后,我的问题的正确答案是:

.widget_nav_menu li.menu-item ul.sub-menu

【问题讨论】:

    标签: html css wordpress css-selectors wordpress-theming


    【解决方案1】:

    尝试:

    .widget_nav_menu ul .menu-item .sub-menu li { background: red; }
    

    因为sub-menu类属于ul,而li之后没有sub-menu

    【讨论】:

    • 谢谢它的工作。但是我是否理解正确,如果有类似
    【解决方案2】:

    我相信你想要这个:

    .widget_nav_menu ul .menu-item li.sub-menu { background: red; }
    

    【讨论】:

    • 这不应该工作,因为sub-menu 类属于ul 并且没有lisub-menu
    【解决方案3】:

    试试这个:

    .widget_nav_menu ul .menu-item .sub-menu li { background: red; }
    

    因为 li 项在 .sub-menu ul... 下方...

    【讨论】:

    • 太棒了,几乎每个字都和harakiri的回答一样。
    • 我知道,当我写完我的答案时(在他之后 2 分钟),我看到他有同样的答案! :-S
    猜你喜欢
    • 2011-06-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-07
    • 2013-07-31
    • 1970-01-01
    • 1970-01-01
    • 2023-03-19
    相关资源
    最近更新 更多