Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Вёрстка веб-сайтов > Левая колонка за основным блоком HTML-коде


Автор: ilyalyu 20.1.2008, 13:45
У меня такая проблема. Есть страница с верхней и нижней полосой, левой и правой колонкой и основным блоком посередине. Все это сделано с помощью таблиц и прекрасно работало. Теперь мне надо чтобы левая колонка в HTML коде находилась за основным блоком. Этого можно достичь с помощью такого кода:

Код

<table>
 
<tr>
  <td style="height: 1px; line-height: 1px;"></td>
  <td rowspan="2"><!-- Main content --></td>
  <td style="height: 1px; line-height: 1px;"></td>
</tr>
 
<tr>
  <td><!-- Left  column --></td>
  <td><!-- Right column --></td>
</tr>
 
</table>


Однако, в IE возникает следующая проблема. Если основной блок длинее левой колонки, то IE увеличивает размер пустых ячеек, несмотря на то, что для них задана высота 1px. В результате левая колонка смещается вверх вниз при переходе с одной страницы на другую. Возможно, кто-нибудь знает, как решить эту проблему?

Предвидя стандартную реакцию на табличный лэйаут, сразу скажу, что я пробовал использовать и плавающие элементы и абсолютное позиционирование. К сожалению, у этих методов имеются свои недостатки, которые я тоже готов описать.

Автор: merge 20.1.2008, 16:22
точно не могу сказать, но по-моему если это таблица, то она должна иметь квадратную форму. т.е. запись, которую ты привел - неверная. (кстати проверь валидатором). У меня просто никогда не возникало мыслей так написать =)
У тебя верхняя строчка имеет на 2 колонки больше, чем нижняя. это неверно, имхо.

Я не совсем понял, как тебе нужно реализовать, но я более чем уверен, что это можно реализовать правильным путем.
Код

<table>
 
<tr>
  <td></td>
  <td><!-- Main content --></td>
</tr>
 
<tr>
  <td><!-- Left  column --></td>
  <td><!-- Right column --></td>
</tr>
 
</table>

Автор: ilyalyu 20.1.2008, 17:39
исправил colspan на rowspan.. теперь будет понятнее)

Автор: merge 20.1.2008, 19:26
все-равно непонятно +) нарисуй что-ли в пэинте

PS зачем тебе эти строки по пикселу?

PPS только щас дочитал твой пост до конца +) Пустые ячейки оставлять - не самая лучшая идея. либо ставить &nbsp; надо (но это увеличивает высоту ячейки до размера шрифта). Для того, чтобы ячейка оставалась размером в 1px необходимо вставить прозрачный гиф 1х1. По-моему я так решал проблему. хотя то было давно и щас я уже не верстаю таблицами ) если непоможет - скажи, пороюсь в архивах. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)