新しい Web サイトを開始するときに表示される VS 2010 の基本的な水平メニューを実装しました。ページは私のルートで問題なく表示されます。
/blog/ アプリケーション (blogengine.net) を作成したとき、いくつかの変更を加えました...そこに独自のロゴ、ファビコンなどを配置し、そこにメニューを配置しようとしました。他のスタイルシートの他のメニュー クラスと競合しているようには見えません。確認のために、コードとスタイルシートでクラスの名前を topmenu に変更しました。そして奇妙なことに、デザイン モードの VS では問題なく表示されます。
したがって、.css の競合がないことを確認するためにトリプル チェックを行ったので、コードは次のようになります。
<div class="clear hideSkiplink">
<asp:Menu ID="NavigationMenu" runat="server" CssClass="menu" EnableViewState="false"
IncludeStyleBlock="false" Orientation="Horizontal">
<Items>
<asp:MenuItem NavigateUrl="http://rtn.org/Default.aspx" Text="Home" />
<asp:MenuItem NavigateUrl="http://rtn.org/About.aspx" Text="About RTN" />
<asp:MenuItem NavigateUrl="http://rtn.org/resources.aspx" Text="RTN Resources" />
<asp:MenuItem NavigateUrl="http://rtn.org/advertise.aspx" Text="Advertise with RTN" />
<asp:MenuItem NavigateUrl="http://rtn.org/donate.aspx" Text="Donate to RTN" />
</Items>
</asp:Menu>
</div>
CSS は次のようになります。
div.hideSkiplink
{
background-color: #3a4f63;
width: 100%;
}
div.menu
{
padding: 4px 0px 4px 8px;
}
div.menu ul
{
list-style: none;
margin: 0px;
padding: 0px;
width: auto;
}
div.menu ul li a, div.menu ul li a:visited
{
background-color: #465c71;
border: 1px #4e667d solid;
color: #dde4ec;
display: block;
line-height: 1.35em;
padding: 4px 20px;
text-decoration: none;
white-space: nowrap;
}
div.menu ul li a:hover
{
background-color: #bfcbd6;
color: #465c71;
text-decoration: none;
}
div.menu ul li a:active
{
background-color: #465c71;
color: #cfdbe6;
text-decoration: none;
}
しかし、この図でわかるように、何らかの理由で、私のルート マスター ページにあるように、私の /blog/ サブディレクトリ マスター ページでは何らかの理由で display:block が機能していません。
なぜこれが当てはまるのか、誰にも分かりますか?繰り返しますが、デザイン モードの VS では見栄えがします。ただ、アップロードしたところ、display:block が正しく動作しません。私は何時間もそれをいじりましたが、私の /blog/ サブディレクトリにあるはずのメニューを再現できません。どんな提案でも大歓迎です!