我有一个index.php页面,其中包含一个navBar.inc页面来呈现顶部导航栏。我还有一个外部样式表。我的目标是通过PHP突出显示该导航栏中的当前页面。
我试图实现它,但它没有像我预期的那样工作。
我将PHP代码放在index.php页面的顶部:<?php $thisPage="About"; ?>
然后在navBar.inc文件中的每个li
中,我有代码可以更改每个li
的ID,例如:<li><?php if ($thisPage=="About") echo " id=\"currentPage\""; ?>><a href="index.php">ABOUT</a></li>
当然,在我的外部CSS中我有:#currentPage {color:black;}
但是当我将文件上传到服务器并试用时,它实际上将id =“currentPage”写入页面而不是将其分配给该ID。此外,每个菜单项之间都有。见下面的图片链接。
你能帮我搞定吗?我觉得我快到了!谢谢!
注意:这是我第一次接触PHP。语法有点令人困惑,但看起来很有趣!
答案 0 :(得分:3)
您目前正在关闭变量之前关闭<li>
标记,这意味着它正在呈现id
属性并>
进行屏幕显示:
<li><?php if ($thisPage=="About") echo " id=\"currentPage\""; ?>>
^ ^
<a href="index.php">ABOUT</a></li>
您需要将id属性放在<li>
元素中,如下所示:
<li<?php if ($thisPage=="About") echo " id=\"currentPage\""; ?>>
<a href="index.php">ABOUT</a></li>
如前所述,您可以使用javascript / jQuery完成此操作,但这样可以。
修改强>
尝试:
#currentPage a { color: black !important; }
这会覆盖您在.CSS文件中设置的先前样式。