0

我已将此 PHP 代码添加到我的导航栏中,以在单击导航栏链接时保持链接处于活动状态。当我通过 www.something.com 导航到该页面时,idex.php 或主页未激活

当访问者到达我的网站时,该 index.php 或主页是 class="active",我该怎么办?

    enter code here<?php 

function echoActiveClassIfRequestMatches($requestUri)
{
    $current_file_name = basename($_SERVER['REQUEST_URI'], ".php");

    if ($current_file_name == $requestUri)
        echo 'class="active"';
}

?>

    <div class="navbar navbar-inverse navbar-fixed-top">
      <div class="container">
        <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".nav-collapse">
          <span class="icon-bar"></span>
          <span class="icon-bar"></span>
          <span class="icon-bar"></span>
        </button>
        <a class="navbar-brand visible-sm" href="#"><img src="assets/images/all.gif" style="padding-bottom:5px;" alt="" height="35em"></a>
<div class="nav-collapse collapse">

<ul class="nav navbar-nav">
<li <?=echoActiveClassIfRequestMatches("index")?>><a href="index.php">Home</a></li>
<li <?=echoActiveClassIfRequestMatches("about")?>><a href="about.php">About us</a></li>
<li <?=echoActiveClassIfRequestMatches("services")?>><a href="services.php">Our services</a></li>
<li <?=echoActiveClassIfRequestMatches("contact")?>><a href="contact.php">Contact</a></li>
          </ul>

        </div><!--/.nav-collapse -->

      </div>
    </div>
4

1 回答 1

0

CSS类:active是一个伪类,即。一个无法手动归因的类。如果您希望在与当前页面相对应时突出显示链接,则必须手动完成。您的代码本来就很好,但是您必须定义 CSS 规则以使链接突出显示。

在您的 CSS 文件(或stylehtml 的一部分)中的某处,您需要如下规则:

a.active {
     color: red;
}

a.active是 CSS 选择器,表示您希望将括号内的规则应用于带有类的a标签。active您可以通过删除a. 您可能希望将 CSS 规则替换为与您的网站样式匹配的规则。

有关伪类的详细信息,请参阅Confused by CSS pseudo-class :active:active

也许您还应该为您的“活动”临时课程选择一个不同的名称,以避免混淆(可能是“当前页面”)。

于 2013-08-16T09:38:44.380 回答