2 回答
TA贡献1876条经验 获得超6个赞
您需要检查您现在所在的页面$_SERVER['REQUEST_URI']。
试试这个快速而肮脏的解决方案:
<?php
$class1 = '';
$class2 = '';
$class3 = '';
$prefix = '/html/html_';
if ($_SERVER['REQUEST_URI'] == $prefix.'default.php') {
$class1 = 'current';
} else if ($_SERVER['REQUEST_URI'] == $prefix.'editors.php') {
$class2 = 'current';
} else {
$class3 = 'current';
}
?>
<div class="sidenav">
<h3> HTML Collection</h3>
<a class="<?= $class1 ?>" href="html_default.php">HTML Intro</a>
<a class="<?= $class2 ?>" href="html_editors.php">HTML Editors</a>
<a class="<?= $class3 ?>" href="html_basics.php">HTML Basics</a>
</div>
这将比较当前文件路径是否匹配,然后将current其用作class-attribute 值。
顺便说一句,您不需要,style="cursor: pointer"因为当您有<a>标签时,每个浏览器都会显示手形图标。也请使用href标签而不是onclick让您的生活更轻松并完成 W3C 验证。
TA贡献1831条经验 获得超4个赞
另一种方法是只在每个页面上使用唯一的 id,并使用这些 id 来定位您的链接并添加适当的样式。
<body id='page_about'>
<a id='nav_about' href='about.php'>About</a>
<a id='nav_contact' href='contact.php'>Get in touch</a>
</body>
然后 CSS 类似:
#page_about #nav_about,
#page_contact #nav_contact
{
text-decoration: none;
}
不需要逻辑。
请记住,如果您关闭了 CSS,则当前页面链接不会获得该样式。
- 2 回答
- 0 关注
- 70 浏览
添加回答
举报