アイデアは単純でした:
ホーミング時のliの背景色を1つの色に変更する
ul#menu li a:hover {...}
マウスを押したときに他の色に変更する
ul#menu li a:active {...}
リンクがホバーまたは押されていない場合は、元の色 (通常) に戻します
問題は、ユーザーが自分の意図を拒否してマウスをリンクから離した場合、背面の色が押されたままになることです (つまりa:active
)。
したがって、リンクが「アクティブ」状態になり、ユーザーがマウスボタンを離した後もそのままのように見えます。
編集
これは、この質問に答えようとしたポスターの助けを借りて思いついたものです:これらのフィドルを比較してください:
違いは、目的のフィドルに がないことhref
です。が追加されるとすぐhref
に、リンクは望ましくない動作を開始します。どちらも次を使用します。
a:link {color:#FF0000;} /* unvisited link */
a:visited {color:#FF0000;} /* visited link */
a:hover {color:#FF00FF;} /* mouse over link */
a:active {color:#0000FF;} /* selected link */
その間
<a>LINK</a>
<a href="default.asp" target="_blank">LINK</a>
確かに私はhref
自分のhtmlに設定したので、どうすればFiddle #1の動作を達成できますか?
ということで、htmlとcssだけでは無理そうです。Javaスクリプトを使用した回避策はありますか?