ウェブサイトでユーザーが選択したアクティブまたは現在のページナビゲーションリンクの色を変更しようとしています。私は何を間違えていますか?ありがとう。
これまでのCSSは次のようになります。
div.menuBar
{
font-family: BirchStd;
font-size: 40px;
line-height: 40px;
font-weight: bold;
text-align: center;
letter-spacing: -0.1em;
}
div.menuBar li{list-style:none; display: inline;}
div.menuBar li a:active{color:#FF0000;}
div.menuBar ul{margin:0;}
また、HTMLはinclude PHP関数を使用してナビゲーションメニューのページテンプレートを呼び出します。
<div class="menuBar">
<ul>
<li><a href="index.php">HOME</a></li>
<li><a href="two.php">PORTFOLIO</a></li>
<li><a href="three.php">ABOUT</a></li>
<li><a href="four.php">CONTACT</a></li>
<li><a href="five.php">SHOP</a></li>
</ul>
私はあなたがa:active
CSSセレクターが行います。これは、リンクをクリックしたときにのみリンクの色を変更します(クリックの持続時間、つまりマウスボタンが押し下げられている時間のみ)。あなたがする必要があるのは、新しいクラスを導入することです。 .selected
をCSSに追加し、リンクを選択したら、選択したメニュー項目を新しいクラスで更新します。
<div class="menuBar">
<ul>
<li class="selected"><a href="index.php">HOME</a></li>
<li><a href="two.php">PORTFOLIO</a></li>
....
</ul>
</div>
// specific CSS for your menu
div.menuBar li.selected a { color: #FF0000; }
// more general CSS
li.selected a { color: #FF0000; }
selectedPage
パラメーターを受け取るには、テンプレートページを更新する必要があります。
CSS :active
stateは、クリックされたリンクのアクティブな状態を意味します。たとえば、クリックしたがマウスボタンをまだ離していない瞬間です。どのページを表示しているかはわからず、メニュー項目にスタイルを適用できません。
問題を修正するには、クラスを作成し、現在のページのメニューに手動で追加する必要があります。
a.active { color: #f00 }
<ul>
<li><a href="index.php" class="active">HOME</a></li>
<li><a href="two.php">PORTFOLIO</a></li>
<li><a href="three.php">ABOUT</a></li>
<li><a href="four.php">CONTACT</a></li>
<li><a href="five.php">SHOP</a></li>
</ul>
アクティブ/現在のページにID current
を追加します。
<div class="menuBar">
<ul>
<li id="current"><a href="index.php">HOME</a></li>
<li><a href="two.php">PORTFOLIO</a></li>
<li><a href="three.php">ABOUT</a></li>
<li><a href="four.php">CONTACT</a></li>
<li><a href="five.php">SHOP</a></li>
</ul>
#current a { color: #ff0000; }