【问题标题】:different color for each menu item once you are in that page进入该页面后,每个菜单项的颜色都不同
【发布时间】:2016-08-31 02:37:52
【问题描述】:
<li id="menu-item-1769" class="Par menu-item menu-item-type-taxonomy menu-item-object-category menu-item-1769"><a href="http://wp.thecmr.com/parents/">Parents</a></li>

所以,我在 WordPress 中有该代码,它是我菜单中的一个选项。一旦我进入“父”页面,我想要做什么来使颜色不同。

例如,当我点击菜单“父母”时,我将转到父母页面,但我希望“父母按钮”为红色,直到我离开父母页面。

对 CSS 有什么建议吗?

【问题讨论】:

  • 你能显示更多代码或你想要的图表吗?
  • 我添加了图片。因此,一旦我进入父母页面,我希望菜单中的父母有红色,我清楚了吗?我想要每个菜单项和页面的颜色不同

标签: css wordpress menu styles menuitem


【解决方案1】:

我相信你在这里问两件事。

  1. 您希望活动菜单项以某种颜色显示。
  2. 您希望每个菜单项的颜色都是唯一的。

让我们分别处理每项任务,它可以帮助您更好地了解需要什么。

  1. 为了使活动菜单项的颜色与标准黑色不同,我们必须对其活动类应用样式。 根据您使用的主题,这可能会有所不同,如果您检查当前的元素并将其与其他链接元素进行比较,您将能够找出您要定位的类名称。 在我的示例中,主题使用了一个名为 current-menu-item 的类。

    让我们为这个类创建一个样式

    // CSS .当前菜单项{ 红色; }

现在您可以看到我们如何设置活动类的样式,下一步我们将为每个菜单项制作独特的颜色。

  1. 这是一个非常简单的过程,可以通过多种方式完成,您可以在 Wordpress 菜单中添加一个类,也可以使用自动 id 选择器来定位菜单项。在这个例子中,我可以看到你有 #menu-item-1769 的自动 id 选择器,所以让我们使用它。

    // css
    #menu-item-1769 .current-menu-item {
        color: red;
    }
    

    为了帮助说明这一点,我假设您还有一些菜单项,让我们为它们应用颜色。

    // css
    #menu-item-1769.current-menu-item {
        color: red;
    }
    #menu-item-1770.current-menu-item {
        color: pink;
    }
    #menu-item-1771.current-menu-item {
        color: green;
    }
    
    // Depending on the theme you may have to target a child selector
    // In this case the following may be suitable
    #menu-item-1769.current-menu-item a {
        color: red;
    }
    

这应该足以让您入门,如果您需要更多帮助,请告诉我。

祝你有美好的一天

【讨论】:

  • 感谢您的宝贵时间!!事情是这样的:当我在主页时,我希望所有菜单项都是黑色的,但是当我更改页面时,例如父母或婴儿等。我希望特定的菜单项具有不同的颜色。例如,当我在 Baby 页面中时,我希望它在菜单中有红色字体,而菜单项的其余部分有背面字体,我尝试了你的代码它不起作用
  • 这就是我对您的问题的解释,所以我们意见一致,我会尝试提供更多帮助... 1. 您确定您的 Wordpress 主题使用的活动类了吗? (current-menu-item) 2. 您是否正确命名了菜单项 id? (#menu-item-1771) 3. 您必须将新样式放在主题应用的任何先前样式之后,这就是 CSS 的工作方式,将使用文件中的最后一条规则,忽略所有先前的规则,(除了 !important 规则) . 4. .css 文件是否正在加载,服务器或浏览器缓存可能正在加载旧版本。告诉我你的进展情况
  • 要尝试的另一件事是定位 a 标签,因为它很可能会应用颜色并覆盖您的新样式。以下对代码的调整应该可以保证结果,显然用你自己的替换菜单id和活动类。 #menu-item-1771.current-menu-item a{ 颜色:绿色!重要; }
  • #menu-item-1771.current-menu-item a{ 颜色:绿色!重要; } 救了我的命,它成功了,谢谢
【解决方案2】:

您还应该能够从您的每个页面获取页面 ID。

所以继续写你的css文件:

#page-id-1234 #menu-item-1769 {background-color: red;}
#page-id-1235 #menu-item-1770 {background-color: blue;}
#page-id-1236 #menu-item-1771 {background-color: yellow;}

【讨论】:

  • body.page-id-12426 #menu-item-1769 {background-color: red!important;}试试这个
  • 如果每个页面都有一个唯一的类名,则此解决方案有效。如果它说 .....
猜你喜欢
  • 2018-07-23
  • 1970-01-01
  • 2013-11-01
  • 2017-05-19
  • 1970-01-01
  • 2016-07-13
  • 2017-01-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多