【问题标题】:ASP.Net master page scrollbar questionASP.Net母版页滚动条问题
【发布时间】:2010-03-25 14:57:51
【问题描述】:

就像我们所有人有时会发生的那样,我继承了一些我必须修复的糟糕代码。

我们需要在宽屏机器上将页面居中,所以我们有一个母版页面布局 div,如下所示:

.MasterLayout
{
width:1100px;
height: 100%;
position:absolute;
left:50%;
margin-left:-550px;
vertical-align:top;
}

为了便于阅读,我在此处删除了大部分详细属性,但以下是母版页表格的布局方式:

<table border="0" cellpadding="0" cellspacing="0" style="width: 100%;">
 <tr>
  <td style="width: 100%" align="center" colspan="2">
  </td>
 </tr>
 <tr>
  <td colspan="2" style="height: 20px; background-color: #333;">
   <asp:SiteMapPath/>
  </td>   
 </tr>
 <tr>
  <td style="width: 86px; height: 650px; background-color: #B5C7DE; margin: 6px;" valign="top">
   <asp:Menu />
   <asp:SiteMapDataSource />
  </td>
  <td style="background-color:#ffffff; margin:5px; width:1000px;" valign="top">
    <asp:contentplaceholder id="ContentPlaceHolder1" runat="server"/>
  </td>
 </tr>
</table>

在调整浏览器窗口大小时,水平滚动条仅到达&lt;asp:contentplaceholder/&gt; 控件的左边缘,并且在86px 宽&lt;td&gt; 中的&lt;asp:menu/&gt; 被隐藏。我该如何解决这个问题?提前致谢

【问题讨论】:

    标签: asp.net css


    【解决方案1】:

    尝试使用 margin: 0px auto 而不是 negative margin method 将 .MasterLayout 居中。

    在更新代码时,您还可以考虑使用 div 代替表格进行页面布局。

    【讨论】:

    • 对于那个解决方案,他还需要删除 position:absolute;剩下:50%;声明也是如此
    【解决方案2】:

    将 contentPlaceholder 放在一个 div 中,并使用该 div 的 css 溢出属性控制溢出。我建议你使用#masterlayout、#sidebar in % 等主块的宽度。

    【讨论】:

      猜你喜欢
      • 2011-01-24
      • 2016-12-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-16
      • 1970-01-01
      • 1970-01-01
      • 2011-07-19
      相关资源
      最近更新 更多