【发布时间】:2021-12-18 15:28:13
【问题描述】:
所以我有一个包含不同项目的菜单
<div class="right-nav">
<a href="/metrics/website/index" class="active">Home</a>
<a href="/metrics/website/pages/archives">Archives</a>
</div>
class="active" 突出显示了菜单项,我想知道如何根据我所在的页面来改变这个类。所以如果用户访问了Archives,那么就有class="active"。
类只是一个简单的颜色
.topnav a.active {
/* When a-tags inside this class has been clicked - do highlight*/
color: var(--selected-nav-page);
}
我所有的 html 代码都在 php 文件中运行。
更新
可能已经找到了一些有用的东西,使用 php,你们怎么看?
制作了一个php 脚本,用于检查我当前所在的页面,并在我的 a-tags 中写入活动与否。
<?php
function active($currect_page){
$url = str_replace(".php", "", basename($_SERVER['PHP_SELF'])); //name without .php
if($currect_page == $url){
echo 'active'; //class name in css
}
}
?>
<div class="right-nav">
<a href="#index" class="<?php active('index'); ?> active">Home</a>
<a href="#archives" class="<?php active('archives'); ?>">Archives</a>
</div>
【问题讨论】:
-
你不能单独使用 HTML 和 CSS 来做到这一点。您需要在客户端(即 JavaScript)或后端(例如 PHP、ASP.NET、JavaScript [通过 Node 或 Deno 或其他] 等)上运行代码。
-
我在php中运行这个,将添加标签
-
到目前为止,您尝试了哪些方法来解决问题?有什么不适用于给定的方法?
标签: javascript php html css