【发布时间】: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看,我看到中心!重要被划掉了...
-
可以修改
#Header下div的样式吗?如果您更改样式并添加display:inline-block;margin:auto auto;,则菜单将显示在我的计算机上。 -
创造奇迹。现在,要弄清楚我错过了什么,为什么简单的
text-align: center;在这种情况下不起作用? -
div默认有
display:block,占宽度的100%;通过将其更改为inline-block,其宽度将调整为菜单的宽度