我已将此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>
答案 0 :(得分:0)
:active
CSS类是一个伪类,即。一个不能手工归类的课程。如果您希望链接在与当前页面对应时突出显示,则必须手动执行。您的代码很好,但您必须定义CSS规则以使链接突出显示。
在CSS文件的某个位置(或html的style
部分),您需要一个如下规则:
a.active {
color: red;
}
a.active
是CSS选择器,表示您希望将括号内的规则应用于a
类active
标记。您可以通过删除a
将其推广到该类的任何标记。您可能希望将CSS规则替换为符合您网站风格的规则。
有关:active
伪类的详细信息,请参阅Confused by CSS pseudo-class :active。
也许你应该为你的“主动”ad-hoc类选择一个不同的名字,以避免混淆(可能是“当前页面”)。