就像有时我们所有人一样,我继承了一些我必须解决的糟糕代码。
我们需要将页面集中在宽屏机器上,因此我们有一个主页面布局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>
。我该如何解决这个问题?感谢提前
答案 0 :(得分:2)
尝试使用margin: 0px auto代替negative margin method来集中.MasterLayout。
在更新代码时,您可能还会考虑使用div而不是表来进行页面布局。
答案 1 :(得分:0)
将contentPlaceholder放在div中并使用该div的css overflow属性控制溢出。我建议你使用#masterlayout,#sidebar等主要块的宽度。