如果我在html中创建菜单导航并使用PHP将其包含在我网站的每个页面中,如果我可以放在页面上的所有内容都包括(“menu.html”),我该如何突出显示当前页面;
答案 0 :(得分:10)
将menu.html
变为menu.php
并在该文件中执行类似
<ul class="menu">
<li <?php echo ($page == 'page1') ? 'class="current"' : '';?>> <a href="#">Page1</a> </li>
<li <?php echo ($page == 'page2') ? 'class="current"' : '';?>> <a href="#">Page2</a></li>
</ul>
在每个页面中包含menu.php
的方式,您可以简单地设置变量
<?php
$page = 'page1';
include('menu.php');
?>
请记住,这只是一个示例,因为我们不知道您当前的代码是什么样的
答案 1 :(得分:6)
您也可以在PHP中编写菜单,因为您已经使用PHP加载菜单只需在菜单项上运行if / else语句,以检查链接中的“href”是否与页面的当前URL匹配并将菜单项设置为“活动”。
答案 2 :(得分:3)
在原始php中,这应该像
<?php
$currentPage = ''; // should be accessed from $_SERVER
$cssMenu = array('home.html', 'about.html');
if(array_search($currentPage, $cssMenu)) $cssMenu[$currentPage] = 'active';
?>
<ul id="top-menu">
<li class="<?= $cssMenu['home.html'] ?>">Home</li>
<li class="<?= $cssMenu['about.html'] ?>">About</li>
</ul>
答案 3 :(得分:1)
由于在页面加载之前无法修改类和div,因此在加载页面后,您必须使用某种javascript / jquery / whatever来动态突出显示链接。这不应该太难;您可以通过菜单div(假设您正在使用div)查看与当前页面匹配的href
条目的Javascript,然后将适当的css类添加到该特定标记。