【问题标题】:ASP Menu control not aligningASP 菜单控件未对齐
【发布时间】:2016-11-26 09:40:40
【问题描述】:

我在将 ASP 菜单居中时遇到问题,它 100% 的时间都与窗口左侧对齐。我将它包含在一个 Div 中,然后嵌套在另一个 Div 中。

如果我有嵌套的 Div 到 float:right,我可以让它正确对齐。我一直在阅读包括 !important 以覆盖其他 div 中的某些样式,这些样式可能导致此 Header div 无法正确对齐。

CSS
body {
}
#Header
{

    width: 100%;
    height: 40px;
    font-family: Calibri;
    text-align:center !important;

}
#LeftColumn
{
    font-family: Verdana;
    font-size: small;
    text-align: left;
    float: left;
    padding-top: 20px;
    padding-left: 2%;
    width: 19%;
    height: 250px;
}
#MainContent
{
    font-family: Verdana;
    font-size: medium;
    padding-top: 20px;
    width: 79%;
    height: 250px;
    float: right;
    text-align: center;
    position: relative;
}
#Footer
{
    font-family: Verdana;
    font-size: x-small;
    color: white;
    padding-left: 20%;
    width: 79%;
    height: 15px;
    float:
}

默认.aspx

 <div id="Header">
    <div style="text-align:center !important">
     <asp:Menu ID="Menu" runat="server" Orientation="Horizontal" >
    <Items>
        <asp:MenuItem Text="MenuItem1" Value="MenuItem1">
            <asp:MenuItem Text="Test1" Value="Test1" />
            <asp:MenuItem Text="Test2" Value="Test2" />
        </asp:MenuItem>
        </Items> 
    </asp:Menu>   
    </div>
    </div>

【问题讨论】:

  • 生成的 HTML 代码(而不是 aspx)是什么?
  • 呵呵,通过IE看,我看到中心!重要被划掉了...
  • 可以修改#Headerdiv的样式吗?如果您更改样式并添加display:inline-block;margin:auto auto;,则菜单将显示在我的计算机上。
  • 创造奇迹。现在,要弄清楚我错过了什么,为什么简单的text-align: center; 在这种情况下不起作用?
  • div默认有display:block,占宽度的100%;通过将其更改为inline-block,其宽度将调整为菜单的宽度

标签: c# css asp.net


【解决方案1】:

Asp:Menu 对齐取决于父元素的“dir”属性,默认为“ltr”。 在父元素上设置 dir="rtl" 属性为 asp:Menu 右对齐,例如:

<div dir="rtl">
    <asp:Menu>
    </asp:Menu>
</div>

【讨论】:

    猜你喜欢
    • 2021-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多