0

私の質問:ASP.netメニューでホバー効果を作成する方法。 問題は、標準のASP.netメニューにはホバー機能がないため、作成が非常に難しい/不可能(?)であるということです。

宿題をした後、css、jquery、その他の方法で試してみた人を見かけました...しかし、信じられないほど複雑な解決策がなくても、「通常の」htmlまたはcssを好むでしょう。それは本当に不可能なはずですが、それを使用する明確な方法はありますか?

ほとんどのcssオプションが失敗したか、非常に複雑でした。

正確に何が起こるべきか:たとえばメニュー項目

<asp:MenuItem NavigateUrl="~/Pages/Test.aspx" Text="Test" Value="Test" Selectable="true"></asp:MenuItem>

ホバー効果のため、異なる背景を取得する必要があります。

たぶん、CSSをC#コード内から別のものに変更しますか?

ご回答有難うございます!

〜解決済み〜 ご協力ありがとうございます!両方の答えのおかげで問題は解決しました。このメニューでホバー効果も機能しないことに気付いたとき、そのメニューを追加してみました。なにが問題だったの?私は2つのcssファイルを使用しています。また、最初のcssファイルにはa:hoverの処理方法に関する指示が含まれていたため、他のすべてのホバー効果は無視されました。

ホバー効果が機能しなかった理由がわかったので、この問題を解決できます。どうもありがとうございました!

4

1 に答える 1

0

了解しました。ASP.netメニューを使用してホバー効果を作成する方法を理解するのにかなりの時間がかかりました。だから、私はすべての難しいものやたくさんのコードなしで、簡単な方法を見つけました。

ブラウザでaspページを見る場合は、ページソースに移動します。メニューを見ると、次のようになっていることがわかります。

<li>
    <a class="level1" href="Home.aspx">
    <img src="../Images/home.png" alt="" title="" class="icon" />Home</a></li>
<li>
    <a class="level1" href="Page2.aspx">
    <img src="../Images/homehover.png" alt="" title="" class="icon" />Page2</a><ul class="level2">

解決策は、cssを変更することです。

a:hover[href*="Home"][class*="level1"]
{
     color: black;
}

このCSSは、A要素を選択します。ここで(HTMLでは)属性hrefとclassにHomeとlevel1が含まれています(または等しい)。

あなたが私よりも複雑なメニューを持っているなら、それは少し違うかもしれません、なぜなら私はたった2つのレベルの深さを持っているからです。(メニューとサブメニュー)皆さんのお役に立てば幸いです!

これで、stackoverflowに関する最初の質問/回答は終わりです。ご協力いただきありがとうございます!

ps:機能しない場合は、関連するすべてのcssファイルのすべてのa:hoverステートメントをメニューのあるページに削除します。StaticHoverStyle / DynamicHoverStyleを使用する場合にも、問題が発生する可能性があります。

于 2012-04-29T12:17:41.747 に答える