0

この PHP コードをナビゲーション バーに追加して、ナビゲーション バーのリンクがクリックされたときにリンクがアクティブになるようにしました。www.something.com 経由でページに移動すると、idex.php またはホームページがアクティブになりません

index.php またはホームページが class="active" である私の Web サイトに訪問者が到着した場合、どうすればよいですか。

    enter code here<?php 

function echoActiveClassIfRequestMatches($requestUri)
{
    $current_file_name = basename($_SERVER['REQUEST_URI'], ".php");

    if ($current_file_name == $requestUri)
        echo 'class="active"';
}

?>

    <div class="navbar navbar-inverse navbar-fixed-top">
      <div class="container">
        <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".nav-collapse">
          <span class="icon-bar"></span>
          <span class="icon-bar"></span>
          <span class="icon-bar"></span>
        </button>
        <a class="navbar-brand visible-sm" href="#"><img src="assets/images/all.gif" style="padding-bottom:5px;" alt="" height="35em"></a>
<div class="nav-collapse collapse">

<ul class="nav navbar-nav">
<li <?=echoActiveClassIfRequestMatches("index")?>><a href="index.php">Home</a></li>
<li <?=echoActiveClassIfRequestMatches("about")?>><a href="about.php">About us</a></li>
<li <?=echoActiveClassIfRequestMatches("services")?>><a href="services.php">Our services</a></li>
<li <?=echoActiveClassIfRequestMatches("contact")?>><a href="contact.php">Contact</a></li>
          </ul>

        </div><!--/.nav-collapse -->

      </div>
    </div>
4

1 に答える 1

0

CSS クラスは:active疑似クラスです。手動で帰属できないクラス。現在のページに対応するときにリンクを強調表示したい場合は、手動で行う必要があります。コードはそのままで問題ありませんが、CSS ルールを定義してリンクを強調表示する必要があります。

CSS ファイル (またはstylehtml のセクション) のどこかに、次のようなルールが必要です。

a.active {
     color: red;
}

括弧内のルールをclassのタグa.activeに適用することを示す CSS セレクターです。を削除することで、まさにそのクラスを持つ任意のタグに一般化できます。おそらく、CSS ルールを Web サイトのスタイルに一致するものに置き換えたいと思うでしょう。aactivea

疑似クラスの詳細については、CSS 疑似クラス :active による混乱を参照してください:active

おそらく、混乱を避けるために、「アクティブな」アドホック クラスに別の名前を付ける必要があります (「現在のページ」など)。

于 2013-08-16T09:38:44.380 に答える