在php的菜单中突出显示当前页面
Posted
技术标签:
【中文标题】在php的菜单中突出显示当前页面【英文标题】:highlight the current page in menu in php 【发布时间】:2018-09-03 13:52:21 【问题描述】:我想使用 php 在菜单中突出显示活动页面。该页面为静态版本,仅使用 php 中的 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
【问题讨论】:
你有活跃的类在列表中,使用 CSS 做高亮? 【参考方案1】:您可以使用以下内容:
.active, .home:hover
background-color: #666;
color: white;
<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>
【讨论】:
【参考方案2】:你给链接一个ID
,比如#activeHome
和#activeContact
。
<li><a href="index.php" id="activeHome">Home</a></li>
然后你改变HTML
,你只在Home
加载,例如background
。
<style>
#activeHome
background:blue;
</style>
在页面上Contact
对应。
【讨论】:
【参考方案3】:您应该在navigation.php 文件中的每个li 类属性中使用条件语句。使用 $_SERVER["PHP_SELF"] 预定义变量,例如联系人链接:
<li class="<?php $_SERVER['PHP_SELF'] === '/contact-us.php' ? 'active' : '' ?>"><a href="contact-us.php">Contact</a></li>
【讨论】:
【参考方案4】:您可以在每个页面的 <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>
联系我们.php
// after php includes
<head>
.contact
color:red;
</head>
...等等。
【讨论】:
【参考方案5】: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>
【讨论】:
以上是关于在php的菜单中突出显示当前页面的主要内容,如果未能解决你的问题,请参考以下文章