4

当在 ASP.NET 中创建一个新的 Web 应用程序项目时,它在 site.master 页面中带有一个 NavigationMenu,它有 2 个元素(Home 和 About),请让我知道如何将此菜单对齐到右侧。

这是屏幕截图和代码:

在此处输入图像描述

<div class="clear hideSkiplink">
    <asp:Menu ID="NavigationMenu" runat="server" CssClass="menu" EnableViewState="false"
        IncludeStyleBlock="False" Orientation="Horizontal">
        <Items>
            <asp:MenuItem NavigateUrl="~/Default.aspx" Text="AnaSayfa"/>                 
            <asp:MenuItem NavigateUrl="~/About.aspx" Text="Hakkında" />
        </Items>
    </asp:Menu>
</div>

这是呈现的html代码:

<div style="float: left;" id="NavigationMenu" class="menu">
    <ul style="width: auto; float: left; position: relative;" class="level1 static" role="menubar"
        tabindex="0">
        <li style="float: left; position: relative;" class="static" role="menuitem"><a class="level1 static"
            tabindex="-1" href="Default.aspx">Ana Sayfa</a></li>
        <li style="float: left; position: relative;" class="static" role="menuitem"><a class="level1 static"
            tabindex="-1" href="About.aspx">Hakkında</a></li>
    </ul>
</div>

这里的CSS:

div.hideSkiplink
{
    background-color:#3a4f63;
    width:100%;
}

div.menu
{
    padding: 4px 0px 4px 8px;
    text-align: right;
}

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;
}
4

2 回答 2

6

添加text-align: right;div.menu样式中Site.css

由于某些东西正在向float:left;菜单 div 添加 a,因此您需要float:right !important;按照 Rajiv 的建议在 CSS 中覆盖它。让你的 CSS 看起来像这样:

div.menu
{
    padding: 4px 0px 4px 8px;
    text-align: right;
    float: right !important;
}

正在应用的手动样式可能是由于一些内置的菜单样式。查看文档和其中包含的演练:http: //msdn.microsoft.com/en-us/library/ecs0x9w5 (v=vs.100) 尤其是曾经与 ManuStyles 和 MenuItemStyles 相关的内容。

于 2012-07-30T05:59:58.277 回答
0

如果您想让 div 内的文本右对齐,请执行以下代码

text-align:right;

但是,如果您想将整个 div 向右移动,您可以选择

float:right

有关“浮动”属性的信息,请阅读此

如何在另一个 div 中对齐 3 个 div(左/中/右)?

于 2012-07-30T06:16:19.343 回答