在php中突出显示菜单中的当前页面

时间:2018-03-25 09:07:41

标签: php html css highlight

我想使用php突出显示菜单中的活动页面。该页面是静态版本,只有普通文件使用include中的include来调用,即header.php,footer.php,navigation.php

navigation.php

<div class="collapse navbar-collapse" id="navbar-collapse-1">
                    <ul class="nav navbar-nav">
                        <li class="active"><a href="index.php">Home</a></li>
                        <li><a href="contact-us.php">Contact</a></li>
                    </ul>
                </div>

的index.php

<?php
// Including Files
include('includes/header.php');
include('includes/navigation.php');
?> Rest HTML code goes here

5 个答案:

答案 0 :(得分:3)

<强> PHP

$activePage = basename($_SERVER['PHP_SELF'], ".php");

<强> HTML

<ul class="nav navbar-nav">
      <li class="<?= ($activePage == 'index') ? 'active':''; ?>"><a href="index.php">Home</a></li>
      <li class="<?= ($activePage == 'contact-us') ? 'active':''; ?>"><a href="contact-us.php">Contact</a></li>
</ul>

答案 1 :(得分:0)

您应该在navigation.php文件中的每个li class属性中使用条件语句。使用$ _SERVER [&#34; PHP_SELF&#34;]预定义变量,例如用于联系人链接:

<li class="<?php $_SERVER['PHP_SELF'] === '/contact-us.php' ? 'active' : '' ?>"><a href="contact-us.php">Contact</a></li>

答案 2 :(得分:0)

您可以在每个页面的<li>元素中添加适当的类,然后稍后使用一些CSS突出显示相应的页面按钮。

代码示例:

<强> navigation.php

<div class="collapse navbar-collapse" id="navbar-collapse-1">
    <ul class="nav navbar-nav">
        <li class="index"><a href="index.php">Home</a></li>
        <li class="contact><a href="contact-us.php">Contact</a></li>
    </ul>
</div>

<强>的index.php

// after php includes
<head>
    .index {
        color:red;
    }
</head>

与-us.php

// after php includes
<head>
    .contact {
        color:red;
    }
</head>

......等等。

答案 3 :(得分:-1)

您可以使用以下内容:

&#13;
&#13;
.active, .home:hover {
  background-color: #666;
  color: white;
}
&#13;
<div class="collapse navbar-collapse" id="navbar-collapse-1">
        <ul class="nav navbar-nav">
           <li class="home active"><a href="index.php">Home</a></li>
           <li><a href="contact-us.php">Contact</a></li>
        </ul>
    </div>  
&#13;
&#13;
&#13;

答案 4 :(得分:-2)

您为ID提供#activeHome#activeContact

<li><a href="index.php" id="activeHome">Home</a></li>




然后,您更改HTML仅在Home加载,例如background

<style>
    #activeHome {
        background:blue;
    }
</style>



在页面Contact上对应。