Ошибся в вёрстке.

  • Автор темы zuldek
  • Дата начала
Z

zuldek

Гость
#1
Вот не могу понять как правильно сделать. Есть таблица таблица
Нужно чтобы по мере наполнения контентом растягивались только две белые ячейки (вторая сверху в первом столбце, и сайдбар во втором столбце).

А у меня получается что растягиваются все ячейки (правильно отображает только Firefox). Как надо переписать код таблицы(или сделать в несоклько таблиц/дивов) чтобы растягивались по высоте только белые ячейки?

Код:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="ru">
<head>
<title>123</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">

</head>

<body>
<table width="500px" border="1">
<tr>
<td height="40px" colspan="2"></td>

</tr>
<tr>
<td width="300px" height="30px" bgcolor="#990000">ячейка фиксированной высоты, не тянется</td>
<td valign="top" rowspan="4"><p>текст, ячейка должна растягиваться по высоте</p>
<p>текст, должен тянутся.</p>
<p>текст, должен тянутся.</p>
<p>текст, должен тянутся.</p>
<p>текст, должен тянутся.</p>
<p>текст, должен тянутся.</p>
<p>текст, должен тянутся.</p>
<p>текст, должен тянутся.</p>
<p>текст, должен тянутся.</p>
<p>текст, должен тянутся.</p>
<p>текст, должен тянутся.</p>
<p></p>
<p>текст, должен тянутся.</p>
<p>текст, должен тянутся.</p></td>
</tr>
<tr>
<td>ячейка должна рстягиваться по высоте</td>
</tr>
<tr>
<td height="30px" bgcolor="#999999">ячейка не должна тянутся по высоте</td>
</tr>
<tr>
<td height="40px" bgcolor="#336633">ячейка не должны тянутся п овысоте</td>
</tr>
</table>
</body>
</html>
 
Z

zuldek

Гость
#2
вот как нужно сделать

последняя попытка результата не дала нужного - вот
Объясните пожалуйста в чём ошибка
 

1ive

Well-Known Member
12.09.2010
621
0
#3
Понятно что вам нужно.
Но (имхо) html не позволяет напрямую реализовывать такие таблицы.
Тут либо все ячейки фиксированной высоты, либо тянется только нижняя, как ни крути.
 
Z

zuldek

Гость
#4
Понятно что вам нужно.
Но (имхо) html не позволяет напрямую реализовывать такие таблицы.
Тут либо все ячейки фиксированной высоты, либо тянется только нижняя, как ни крути.
А как на Js подменять высоту ячейки? я написал
Код:
<script>
function chh()
{
var tb = document.getElementById('tb');
var tb2= document.getElementById('tb2');
tb.height = tb2.offsetHeight;
alert(tb2.offsetHeight);

}
</script>
Алертом выводит реальную высоту той ячейки до которой хочу растянуть tb, однако в документе ничего не меняется..

А на самом деле парадокс полнейший. Единственный правильный браузер FF отлично справляется с указание высоты ячеек и таблиц в 100%, понимая что это означает растянуть по родителю. Остальные нихрена не понимают. Это при том что если то же самое проделывать с шириной ячеек, то есть первую указать фикс, вторую не указывать ширину, а в третьей указать тоже фикс, то все бразуеры прекрасно растянут вторую ячейку чтобы она заняла всё свободно пространство таблицы.
Почему же с высотой такого нет ?( W3C не понятно чем руководствуются...