0

インターネットをスキャンしましたが、奇妙なことに、これまでのところ解決策はありません。

以下のメニューがあります。

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;ように 1 行のままにしたいと考えています。display: inline

良い: フルサイズ、いい感じ

悪い: 小さなブラウザ、見栄えが悪い

display: block;toを変更するとうまくいくと確信していましdisplay: inline-block;たが、うまくいきませんでした。を使用display: inline;すると、それらは 1 行に配置されますが、ブロックとして動作しなくなるため、サイズが台無しになります。

また、追加してみました

div.menu ul li
{
    display: inline-block !important;
    white-space: nowrap !important;
}

これもうまくいきませんでした。

男と女のアイデアはありますか?ティア。

4

2 に答える 2

1

menudiv に固定幅を配置すると、問題が解決するはずです。

ありがとう

ニコラス

于 2012-07-17T13:08:01.633 に答える
0

の幅を修正してmenudiv、試してみてください。

于 2012-07-17T13:17:03.663 に答える