我扫描了互联网,奇怪的是,到目前为止没有任何解决方案有效。
我有以下菜单:
Site.Master ASP.NET:
<div class="menuBackground">
<div id="MenuDiv" style="visibility: hidden">
<asp:Menu ID="SiteMenu" CssClass="menu" IncludeStyleBlock="false" runat="server"
DataSourceID="NedTreasurySiteMapDataSource" Orientation="Horizontal" OnMenuItemDataBound="SiteMenu_MenuItemDataBound"
ClientIDMode="Static">
<StaticItemTemplate>
<div>
<%# Eval("Text") %>
</div>
</StaticItemTemplate>
<DynamicItemTemplate>
<div>
<%# Eval("Text") %></div>
</DynamicItemTemplate>
</asp:Menu>
</div>
</div>
使用这个 CSS:
div.menu
{
}
div.menu ul
{
list-style: none;
margin: 0px;
padding: 0px;
width: auto;
z-index: 1000;
}
div.menu ul li a, div.menu ul li a:visited
{
display: block;
line-height: 1.35em;
padding: 4px 20px;
text-decoration: none;
white-space: nowrap;
z-index: 1000;
}
div.menu ul li a:hover
{
text-decoration: none;
z-index: 1000;
}
div.menu ul li a:active
{
text-decoration: none;
z-index: 1000;
}
问题:当浏览器调整为更小的尺寸时,菜单会换行,而我不希望它这样做。我希望它的行为就像内容被裁剪一样,就像一个overflow: hidden;
,保持在一行中,就像display: inline
并充当一个块,保持当前的外观。
好的:
坏的:
我很确定更改display: block;
todisplay: inline-block;
会起作用,但没有。使用display: inline;
将它们放在一行中,但会弄乱它们的大小,因为它不再表现为一个块。
另外,我尝试添加
div.menu ul li
{
display: inline-block !important;
white-space: nowrap !important;
}
这也没有成功。
男生女生有什么想法吗?TIA。