我正在尝试创建一个导航,当用户在链接的href页面内时,它会应用颜色。所以我搜索了,我认为最好的方法是使用:
$url = $_SERVER['REQUEST_URI'];
我应该创建一个if语句,如果url与导航的href相同,它应该在<a>
元素中插入一个类。这个类将通过CSS应用它。
如果有帮助,请点击html导航:
<div id="categories">
<ul>
<li id="nav-quien"><a href="biografia.php">quien es</a>
<ul>
<li id="nav-biografia" class="drop1"><a href="biografia.php">biografia</a></li>
<li id="nav-curriculum" class="drop2"><a href="curriculum_todos.php">curriculum</a></li>
</ul>
</li>
<li id="nav-galeria" class="marginli"><a href="gallery.php">galeria</a>
<ul>
<li id="nav-gal-nat" class="drop3"><a href="gallery_natural.php">paisaje natural</a></li>
<li id="nav-gal-urb" class="drop4"><a href="gallery_urbano.php">paisaje urbano</a></li>
</ul>
</li>
<li id="nav-prensa" class="marginli"><a href="prensa.php">prensa</a></li>
<li id="nav-links" class="marginli"><a href="links.php">links</a></li>
<li id="nav-contacto" class="marginli"><a href="contacto.php">contacto</a></li>
</ul>
</div>
</div>
我正在尝试了解如何使用request_uri进行wotk,因为我认为它非常有用。所以任何帮助都非常受欢迎!
:)
答案 0 :(得分:1)
我通常做这样的事情:
<?php
function is_active($page) {
return $_SERVER['REQUEST_URI'] == $page;
}
?>
<style>
.active_page {
font-weight: bold;
}
</style>
<a class="<?php echo is_active('/biografia.php') ? 'active_page' : '' ?>" href="biografia.php">quien es</a>
答案 1 :(得分:1)
根据PHP Manual,$ _SERVER ['REQUEST_URI']返回:
为了访问此页面而给出的URI;例如,'/ index.html'。
因此,对于每个菜单项,您都需要检查$ _SERVER ['REQUEST_URI']是否与您的href字符串匹配。
<li id="nav-quien"><a href="biografia.php"
<?php
if($_SERVER['REQUEST_URI'] == "/biografia.php")
{
echo ' class="active" ';
}
?>
>quien es</a>
答案 2 :(得分:1)
<?php
function theUrl($link) {
$uri = $_SERVER['REQUEST_URI'];
if($link==$uri) {
return 'class="active"';
}
}
?>
HTML
<ul>
<li><a href="" <?php echo theUrl('/index.php')?>>Home</a></li>
<li><a href="" <?php echo theUrl('/about.php')?>>About</a></li>
<li><a href="" <?php echo theUrl('/work.php')?>>Work</a></li>
<li><a href="" <?php echo theUrl('/contact.php')?>>Contact</a></li>
</ul>
这是我在我的网站上使用的脚本的修改版本。唯一的区别(使用我的网站代码),我的目标是第一个子目录,而不是uri
,它允许我在其中包含无限的页面/内容,并保持正确的主导航链接突出显示。 (即www.mysite.com/work/
)
<a href="/work" <?php echo theUrl('work')?>>Work</a>
(you can't use URI for this technique)