我正在尝试使用PHP创建一个活动的导航栏,其中当前页面将在导航栏中突出显示或着色。我使用的代码:
<ul class="topmenu">
<li <?php if($_GET['page']="home") { ?> class="active" <?php } ?>>
<a href="home.php"><b>Bienvenue</b></a>
</li>
<li <?php if($_GET['page']="livres") { ?> class="active" <?php } ?>>
<a href="livres.php"><b>Livres</b></a>
</li>
<li <?php if($_GET['page']="bibliotheque") { ?> class="active" <?php } ?>>
<a href="bibliotheque.php"><b>Bibliothèque</b></a>
</li>
<li <?php if($_GET['page']="universite") { ?> class="active" <?php } ?>>
<a href="universite.php"><b>L'université</b></a>
</li>
<li <?php if($_GET['page']="contact") { ?> class="active" <?php } ?>>
<a href=""><b>Contact</b></a>
</li>
</ul>
如果页面是导航栏中的当前页面,则代码将使类中的attribut处于活动状态。但是,在这种情况下,所有属性都将被授予课程。我该如何解决这个问题?
P.S:我不是在寻找任何JS或jQuery替代方案,我只是想用PHP工作。
答案 0 :(得分:2)
我不使用PHP,但为当前页面指定活动标记,并根据文件进行更改。然后CSS中的单个类定义处理更改每个页面的颜色。
HTML:
<nav>
<a class="active" href="/home/">Home</a>
<a href="/cal/">Calendar</a>
<a href="/CC/">Community</a>
</nav>
CSS:
.active {
background-color: #4CAF50;
}
答案 1 :(得分:2)
您可以使用$ _SERVER ['SCRIPT_NAME']。
PackageInfo pinfo = context.getPackageManager().getPackageInfo( "com.myapp", 0 );
String verName = pinfo.versionName;
int verCode = pinfo.versionCode;
答案 2 :(得分:0)
<? $page="home";?>
<li class="<?if($page=="home"){?>active<?}?>"><a href="home.php"><b>Bienvenue</b></a></li>
这样做是为每个页面分配一个变量。该变量在导航栏的if语句中进行比较,以确定哪个li获取活动类。
答案 3 :(得分:0)
我正在使用bootstrap 4类。我已经完成了Active Class的选择。
<li class="nav-item">
<a
<?php if ($_SERVER['SCRIPT_NAME'] == "/somepath/yourfile1.php") { ?>
class="nav-link active"
<?php } else { ?>
class="nav-link"
<?php } ?>
href="yourfile1.php">Home
</a>
</li>
<li class="nav-item">
<a
<?php if ($_SERVER['SCRIPT_NAME'] == "/somepath/yourfile2.php") { ?>
class="nav-link active"
<?php } else { ?>
class="nav-link"
<?php } ?>
href="yourfile2.php">Home
</a>
</li>
为进一步的li标签重复此逻辑。希望这对其他人有帮助。