我刚刚实现了启动新网站时出现的 VS 2010 的基本水平菜单。页面在我的根目录中看起来不错。
当我创建一个 /blog/ 应用程序 (blogengine.net) 时,我进行了一些更改……将我自己的徽标、favicon 等放在那里,并尝试将我的菜单放在那里。它似乎与任何其他样式表中的任何其他菜单类都没有冲突。我什至在代码和样式表中将类重命名为 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/ 子目录母版页中,无论出于何种原因,显示:块都无法正常工作,就像在我的根母版页中一样:
有人知道为什么会这样吗?同样,它在设计模式下的 VS 中看起来不错。只是当我上传它时, display:block 无法正常工作。我已经摆弄了几个小时,但无法在我的 /blog/ 子目录中重现该菜单。任何建议将不胜感激!