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


Автор: vladim 30.3.2005, 17:03
В общем, мне нужно, чтобы высота одной ячейки из таблицы была равна ровно 70-ти пикселам, я задаю height=70, но в зависимости от высоты других ячеек данная ячейка начинает растягиваться. Может я туплю, но пропарился уже кучу времени кучу вариантов перепробовал, и ниче не получается... Как сделать, чтобы ее высота была фиксирована?

<table border=1 align=left cellpadding=0 cellspacing=0>
<tr><td rowspan=4 background="img\shade0l.gif" width=6>
<td rowspan=2 bgcolor=E5E6ED width=158 valign="top">
<td bgcolor=486E9C width=1>
<td bgcolor=E5E6ED width=1>
<td bgcolor=486E9C width=1>
<td bgcolor=E5E6ED width=1>
<td bgcolor=486E9C width=4>
<td rowspan=2 bgcolor=CDDAEB width=606 valign="top">
<br><br><br><br><br><br>
<br>---Тут текст---<br>
<br><br><br><br><br><br>
<td bgcolor=486E9C width=8>
<td rowspan=4 background="img\shade0r.gif" width=6>

<tr><td bgcolor=98B5C5 width=1 height=70>
<td bgcolor=E5E6ED width=1>
<td bgcolor=98B5C5 width=1>
<td bgcolor=E5E6ED width=1>
<td bgcolor=98B5C5 width=4>
<td bgcolor=98B5C5 width=8>

<tr><td colspan=8 bgcolor=98B5C5 width=780 height=10>

<tr><th colspan=8 bgcolor=5187D6 width=780 height=32 align=right>
</table>

Автор: lovermann 30.3.2005, 18:54
Посмотри в спецификацию HTML и сделай всё по правилам. Тэг TD - парный.. у тебя всё не коряво сделано.

Автор: vladim 31.3.2005, 06:46
Не понял, с чем тэг TD парный, с TR? Ну так он и располагается внутри TR... smile

Автор: Gold Dragon 31.3.2005, 07:36
Этот порамерт height не рекомендуется использовать, т.к. он уже исключён из спецификации HTML 4

И никогда этот параметр корректно работать не будет, тем более когда используются rowspan и colspan

Вообще, уж очень сложная структура у тебя, попробуй её переделать

А с высотой могу посоветовать:

1. Поставь закрывающиеся тэги

2. Вот сюда <td bgcolor=98B5C5 width=1 height=70> поставь прозрачную GIF`ку размером 1х1рх с параметрами width=1 height=70, тогда всё будет всё работать

Автор: vladim 31.3.2005, 08:03
to Red Dragon: " Вот сюда <td bgcolor=98B5C5 width=1 height=70> поставь прозрачную GIF`ку размером 1х1рх с параметрами width=1 height=70, тогда всё будет всё работать " Такой вариант не канает, т.к. у меня высота распирает больше 70 пикселей, а не схлопывается, но все равно за совет спасибо.
В общем, я обошел эту проблему, сделал вложенные страницы, вот код:
<table border=0 align=left cellpadding=0 cellspacing=0>
<tr><td rowspan=4 background="img\shade0l.gif" width=6>
<td rowspan=2 bgcolor=E5E6ED width=158>
<td rowspan=2 bgcolor=486E9C width=1 valign=bottom>
<table border=0 bgcolor=98B5C5 width=1 height=70 cellpadding=0 cellspacing=0><tr><td></table>
<td rowspan=2 bgcolor=E5E6ED width=1>
<td rowspan=2 bgcolor=486E9C width=1 valign=bottom>
<table border=0 bgcolor=98B5C5 width=1 height=70 cellpadding=0 cellspacing=0><tr><td></table>
<td rowspan=2 bgcolor=E5E6ED width=1>
<td rowspan=2 bgcolor=486E9C width=4 valign=bottom>
<table border=0 bgcolor=98B5C5 width=4 height=70 cellpadding=0 cellspacing=0><tr><td></table>
<td rowspan=2 bgcolor=CDDAEB width=606 align=center valign=center>
<BR><BR><BR><BR><BR><BR><BR>
<BR><BR>-Тут текст-<BR><BR>
<BR><BR><BR><BR><BR><BR><BR>
<td rowspan=2 bgcolor=486E9C width=8 valign=bottom>
<table border=0 bgcolor=98B5C5 width=8 height=70 cellpadding=0 cellspacing=0><tr><td></table>
<td rowspan=4 background="img\shade0r.gif" width=6>
<tr>
<tr><td colspan=8 bgcolor=98B5C5 width=780 height=10 align=center>
<tr><th colspan=8 bgcolor=5187D6 width=780 height=32 align=center>
</table>

Автор: Gold Dragon 31.3.2005, 08:54
Ты объясни зачем такая сложная структура? На сколько я вижу, это можно сделать проще

Автор: vladim 31.3.2005, 20:08
to Red Dragon: ну уж кто на что горазд, я вижу решение в такой структуре, причем пришел к ней не сразу.
Сначала я сделал все на слоях с абсолютным позиционированием, потом сообразил, что если текст не влезает по
каким-либо причинам в слой, то он растягивается по вертикали, соответственно с этим растягиванием надо
менять положения сопутствующих слоев... написал на JavaScript скрипт, который измеряет высоту слоя и соответственно меняет параметры (высоту, положение) сопутствующих слоев, повесил этот скрипт на событие onload... потом сообразил,
что onload срабатывает после загрузки всей страницы, т.е. примерно через минуты 2 по обычному диал-апту, и только
тогда, после загрузки всей страницы начинаются правильно выравниваться слои. В итоге плюнул и решил заделать все через таблицы, чтобы все автоматически выравнивалось, в итоге пришел к такой структуре, может можно сделать и боле
легкую структуру, но как это сделать я не знаю.

Автор: Алексей Фоменко 5.4.2005, 13:41
Цитата(vladim @ 31.3.2005, 06:46)
Не понял, с чем тэг TD парный, с TR? Ну так он и располагается внутри TR... smile

Тег <td> является парным, то есть его надо закрывать тегом </td>
Тег <tr> тоже является парным и его тож нужно закрывать тегом </tr>

Автор: Marriage 6.4.2005, 18:10
Алексей Фоменко
Код

<html>
<body>

<TABLE width="100%" border="1" cellspacing="1" cellpadding="1">

 
 <TR  height = 100>
  <TD rowspan = "3" align = "CENTER"> Наименование 
  <TD colspan = "4" align = "CENTER"> кол-во
  <TD colspan = "4" align = "CENTER"> шт


 
 <TR>
  <TD colspan = "2" align = "CENTER">Взрослым
  <TD colspan = "2" align = "CENTER">Детям
  <TD colspan = "2" align = "CENTER">Взрослым
  <TD colspan = "2" align = "CENTER">Детям
 

</TABLE>

</body>
</html>

тогда почему этот код работает ,???

Автор: dm9 9.4.2005, 17:48
Цитата(Red @ 31.3.2005, 08:36)
2. Вот сюда <td bgcolor=98B5C5 width=1 height=70> поставь прозрачную GIF`ку размером 1х1рх с параметрами width=1 height=70, тогда всё будет всё работать


Сразу скажу, особо в суть не вникал... Но так делать плохо. При отключенный картинках в Опере всё будет колбасить.
Для этого надо делать так:

Код

<style>
table.post-setwidth {
    width: 156px;
    height: 0px;
}
</style>

<table cellspacing="0" class="post-setwidth"><tr><td></td></tr></table>


Автор: Алексей Фоменко 9.4.2005, 23:19
Цитата(Marriage @ 6.4.2005, 18:10)
Алексей Фоменко
Код

<html>
<body>

<TABLE width="100%" border="1" cellspacing="1" cellpadding="1">

 
 <TR  height = 100>
  <TD rowspan = "3" align = "CENTER"> Наименование 
  <TD colspan = "4" align = "CENTER"> кол-во
  <TD colspan = "4" align = "CENTER"> шт


 
 <TR>
  <TD colspan = "2" align = "CENTER">Взрослым
  <TD colspan = "2" align = "CENTER">Детям
  <TD colspan = "2" align = "CENTER">Взрослым
  <TD colspan = "2" align = "CENTER">Детям
 

</TABLE>

</body>
</html>

тогда почему этот код работает ,???

Это такой полезный баг в твоём браузере.

У меня тоже такой код работает, а вот в Opere 7
код такой работать не будет - мне показывали мой сайт с таким кодом
в опере (я работаю в explore're) - ну небо и земля.

После этого Я принял решение ставить закрывающие теги.

Да и косяков при последнем подходе помене будет

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