1

メニューを作って、押されたボタンを別の色にしたい。IE メニュー ページにいる場合、メニューのメニュー ボタンは青色になります。

メニューに関するいくつかのオンラインガイドを読んだところ、次のようになりました。

<div id="menu">

<ul>

    <li>
        <a href="/index.php" >home</a>
    </li>
    <li>
        <a href="/search.php" >search</a>
    </li>
    <li>
        <a href="#">1</a>
    </li>
    <li>
        <a href="#">2</a>
    </li>
    <li>
        <a href="#">3</a>
    </li>

</ul></div>

CSS は次のようになります。

#menu ul li a.selected{
background:blue;
color:#000;
}

もちろん、すべてLIに高さとものがあるため、色があります。問題は、ボタンが選択されていることを HTML に伝えるにはどうすればよいかということです。HTML属性か何か?

そして、私が抱えているもう1つのジレンマは、選択したこれらを変更する最善の方法ですか? PHPを使用してアドレスを確認し、それに応じて選択を変更できます。それを行う最善の方法はありますか?

4

4 に答える 4

0

a:visitedcssで使用します。リンクが以前に使用された場合にのみ適用されます

于 2013-04-18T13:04:12.923 に答える
0

css でa:visitedandを使用できます。クリックするとこうa:activeなります。以前に訪れたことがある場合activeになります。visited

ボタンを操作したい場合は、JavaScript (できれば jQuery) の使用を検討してください。そうすれば、アクションに基づいて要素の属性を簡単に変更できます (例: onclick)。

于 2013-04-18T13:04:40.947 に答える
0

:active と :focus を試してください

#menu ul li a:active,#menu ul li a:focus{
    background:blue;
    color:#000;
}
于 2013-04-18T13:07:41.467 に答える
0

あなたは行くことができます:

<li>
<a href="/search.php" 
<?php 
    if(strstr($_SERVER["REQUEST_URI"], "YOURPATH/index.php")) 
      echo "class='selected'";
?>
> Home </a>
</li>

または同等の Javascript "document.URL" を使用します。最もクリーンなソリューションではないかもしれませんが、それを行う必要があります。

于 2013-04-18T13:08:33.877 に答える