0

私はこのメニューを持っています:

<div id="menu-home">
    <ul>
        <li> a </li>
    </ul>
</div>

test.phpテストメニューに対応するページにいるときliは、別のスタイルにする必要があります..

私は試した

#menu-home ul li:active 

しかし、それはうまくいきませんでした..

ありがとう

4

2 に答える 2

2

:active状態はありません<li>

代わりに、PHP でそれを行うことができます。

<div id="menu-home">
<ul>
<li <?php if (page is current page) echo ' class="active"';?>> a </li>
</ul>
</div>

CSS では、次のように指定できます。

#menu-home ul li.active {}
于 2013-01-10T09:54:34.733 に答える
0

要素は(ステートレスの)箇条書きであることが意図されているため、アクティブな状態は<li>ありません。セレクター:activeはリンクでのみ使用できます。例はここにあります。

ただし、:activeクリックされたときにのみリンクが強調表示されます。その後、設定されているアクションやナビゲーションを実行し、リンクにアクセスします。そこからは、現在表示していない他の既にアクセスしたページと区別することはできず、別のページに移動しても、再び「未アクセス」になることはありません。したがって、これは意図したことを実行しません。

代わりに、CSSにクラスを作成して、.activeすべてのカスタムスタイルを定義できます。次に、ページを生成するPHPは、選択したメニュー項目にクラスを正しく設定する必要があります。つまり、メニューが作成されるたびに、またはのclass="active"いずれかにクラスをアタッチします。<li><a>

(ええ、コードに対するPraveenの答えを見てください^^)

于 2013-01-10T10:07:06.733 に答える