CSS:如何更改活动导航页面菜单的颜色

Posted

技术标签:

【中文标题】CSS:如何更改活动导航页面菜单的颜色【英文标题】:CSS: How to change colour of active navigation page menu 【发布时间】:2012-07-08 02:53:14 【问题描述】:

我正在尝试更改用户在我的网站上选择的活动或当前页面导航链接的颜色。我究竟做错了什么?谢谢。

到目前为止,CSS 看起来像这样:

div.menuBar

   font-family: BirchStd;
   font-size: 40px;
   line-height: 40px;
   font-weight: bold;
   text-align: center;
   letter-spacing: -0.1em;


div.menuBar lilist-style:none; display: inline;
div.menuBar li a:activecolor:#FF0000;
div.menuBar ulmargin:0;

我的 html 使用 include php 函数调用导航菜单的页面模板:

<div class="menuBar">
  <ul>
  <li><a href="index.php">HOME</a></li>
  <li><a href="two.php">PORTFOLIO</a></li>
  <li><a href="three.php">ABOUT</a></li>
  <li><a href="four.php">CONTACT</a></li>
  <li><a href="five.php">SHOP</a></li>
 </ul>

【问题讨论】:

【参考方案1】:

我认为您对a:active CSS 选择器的作用感到困惑。这只会在您单击它时更改链接的颜色(并且仅在单击期间,即您的鼠标按钮保持按下状态)。您需要做的是引入一个新类,例如.selected 到你的 CSS 中,当你选择一个链接时,用新的类更新选定的菜单项,例如

<div class="menuBar">
    <ul>
        <li class="selected"><a href="index.php">HOME</a></li>
        <li><a href="two.php">PORTFOLIO</a></li>
        ....
    </ul>
</div>

// specific CSS for your menu
div.menuBar li.selected a  color: #FF0000;  
// more general CSS
li.selected a  color: #FF0000; 

您需要更新模板页面以接受selectedPage 参数。

【讨论】:

非常感谢您的快速回复!像魅力一样工作:) 嗨@James,“您需要更新模板页面以接收 selectedPage 参数”是什么意思。【参考方案2】:

CSS :active 状态表示单击链接的活动状态 - 例如,当您单击它但尚未释放鼠标按钮时。它不知道您在哪个页面上,也无法对菜单项应用任何样式。

要解决您的问题,您必须创建一个类并将其手动添加到当前页面的菜单中:

a.active  color: #f00 

<ul>
    <li><a href="index.php" class="active">HOME</a></li>
    <li><a href="two.php">PORTFOLIO</a></li>
    <li><a href="three.php">ABOUT</a></li>
    <li><a href="four.php">CONTACT</a></li>
    <li><a href="five.php">SHOP</a></li>
</ul>

【讨论】:

【参考方案3】:

为活动/当前页面添加 ID current

<div class="menuBar">
  <ul>
  <li id="current"><a href="index.php">HOME</a></li>
  <li><a href="two.php">PORTFOLIO</a></li>
  <li><a href="three.php">ABOUT</a></li>
  <li><a href="four.php">CONTACT</a></li>
  <li><a href="five.php">SHOP</a></li>
 </ul>

#current a  color: #ff0000; 

【讨论】:

以上是关于CSS:如何更改活动导航页面菜单的颜色的主要内容,如果未能解决你的问题,请参考以下文章

更改活动导航项的颜色并显示相对于导航栏项的页面

导航栏活动元素在不应该在悬停时更改颜色?

如何使用 php 和 HTML 更改活动链接的类名

如何更改导航栏的默认背景颜色? [复制]

如何更改底部导航上的非活动颜色?

引导导航选项卡的字体颜色在活动状态下没有变化