2010-03-25 4 views
1

Как и все мы иногда, я унаследовал какой-то дерьмовый код, который мне нужно исправить.ASP.Net главная страница прокрутка вопроса вопрос

Мы должны сосредоточить наши страницы на широкоформатных машинах, поэтому у нас есть мастер макет страницы 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/> и <asp:menu/> это в 86px широкий <td> является скрытый. Как я могу исправить эту проблему? СПАСИБО В ADVANCE

ответ

2

Попробуйте центрировать .MasterLayout, используя margin: 0px auto вместо negative margin method.

Пока вы обновляете код, вы можете также рассмотреть возможность использования divs вместо таблиц для макета страницы.

+0

Для этого решения ему также необходимо снять положение: абсолютное; и осталось: 50%; декларации – jaywon

0

Поместите contentPlaceholder в div и управляйте переполнением с помощью свойства переполнения css этого div. Я предлагаю вам использовать ширину основного блока, например #masterlayout, #sidebar в%.

Смежные вопросы