0

トップナビゲーションバーをレンダリングするnavBar.incページを含むindex.phpページがあります。外部スタイルシートもあります。私の目標は、PHP を介してそのナビゲーション バーで現在のページを強調表示することです。

実装しようとしましたが、期待どおりに動作しません。

index.php ページの上部に PHP コードを配置しました。<?php $thisPage="About"; ?>

次にli、 navBar.inc ファイルの each に、 each の id を変更するコードがあります。li次に例を示します。<li><?php if ($thisPage=="About") echo " id=\"currentPage\""; ?>><a href="index.php">ABOUT</a></li>

そしてもちろん、私の外部 CSS には次のものがあります。#currentPage {color:black;}

しかし、ファイルをサーバーにアップロードして試してみると、実際には、その id を割り当てるのではなく、ページに id="currentPage" を書き込みます。また、各メニュー項目の間に > があります。以下の画像リンクを参照してください。

画像

これを機能させるのを手伝ってもらえますか? 私はほとんどそこにいると思います!ありがとう!

注: これは PHP に初めて触れたものです。構文は少しややこしいですが、面白そうです!

4

1 に答える 1

3

現在、変数をエコーする前にタグを閉じています。つまり、属性とto スクリーンを<li>レンダリングしています。id>

<li><?php if ($thisPage=="About") echo " id=\"currentPage\""; ?>>
   ^                                                            ^
<a href="index.php">ABOUT</a></li>

<li>次のように要素内に id 属性を配置する必要があります。

<li<?php if ($thisPage=="About") echo " id=\"currentPage\""; ?>>
<a href="index.php">ABOUT</a></li>

前述のように、javascript/jQuery を使用してこれを実現できますが、これは機能します。

編集:

試す:

#currentPage a { color: black !important; }

.CSS ファイルで設定した以前のスタイルをオーバーライドします。

于 2012-11-20T00:09:02.500 に答える