Вопрос полосы прокрутки главной страницы ASP.Net - PullRequest
1 голос
/ 25 марта 2010

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

Нам нужно центрировать наши страницы на широкоэкранных машинах, поэтому у нас есть 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>, скрыт. Как я могу решить эту проблему? СПАСИБО ЗА ПРЕДЕЛА

Ответы [ 2 ]

2 голосов
/ 25 марта 2010

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

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

0 голосов
/ 25 марта 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...