ASP.Net主页滚动条问题

时间:2010-03-25 05:42:31

标签: asp.net css

就像有时我们所有人一样,我继承了一些我必须解决的糟糕代码。

我们需要将页面集中在宽屏机器上,因此我们有一个主页面布局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>

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

2 个答案:

答案 0 :(得分:2)

尝试使用margin: 0px auto代替negative margin method来集中.MasterLayout。

在更新代码时,您可能还会考虑使用div而不是表来进行页面布局。

答案 1 :(得分:0)

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