【问题标题】:Different Color in The Active Navigation Button活动导航按钮中的不同颜色
【发布时间】:2017-06-17 06:48:06
【问题描述】:

我想在页面上更改菜单按钮的背景颜色

这是我的代码:

HTML

<ul>
  <li><a class="active" href="index.php">Home</a></li>
  <li><a href="news.php">News</a></li>
  <li><a href="contact.php">Contact</a></li>
  <li><a href="about.php">About</a></li>
</ul>

CSS

ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
    overflow: hidden;
    background-color: #333;
}

li {
    float: left;
}

li a {
    display: block;
    color: white;
    text-align: center;
    padding: 14px 16px;
    text-decoration: none;
}

li a:hover:not(.active) {
    background-color: #111;
}

.active {
    background-color: #4CAF50;
}

我知道我必须使用 Javascript,但我现在没有在链接处于活动状态时更改类的代码。

【问题讨论】:

  • 这是单页的(链接看起来像),还是这些链接指向现实生活中的不同页面?
  • 是的对不起,这些是不同页面的链接,我编辑了我的答案

标签: javascript html css menu


【解决方案1】:

最好使用 PHP。在每个页面上添加一个变量,该变量带有分配给它的页面名称,例如

<?php $page = "News"; ?>

然后您可以添加条件语句,将活动类添加到与您正在查看的页面相关的导航链接,例如

<ul>
  <li><a <?php echo ($page == "Home") ? "class='active'" : ""; ?> href="index.php">Home</a></li>
  <li><a <?php echo ($page == "News") ? "class='active'" : ""; ?> href="news.php">News</a></li>
  <li><a <?php echo ($page == "Contact") ? "class='active'" : ""; ?> href="contact.php">Contact</a></li>
  <li><a <?php echo ($page == "About") ? "class='active'" : ""; ?> href="about.php">About</a></li>
</ul>

如果您不认识 PHP 代码,它只是 if 语句的简写版本。

【讨论】:

    【解决方案2】:

    创建一个不同的 css 页面,然后将其链接到该页面,然后复制并粘贴所有内容。

    【讨论】:

    • 我尝试使用此代码,但是当我在页面上时背景没有改变。如果我单击第二个链接(新闻),绿色将保留在链接“主页”上。 “活动”类不会打开“新闻”链接
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-07
    • 1970-01-01
    • 1970-01-01
    • 2017-06-22
    • 1970-01-01
    相关资源
    最近更新 更多