Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Строки и параметр display:none (https://javascript.ru/forum/dom-window/2310-stroki-i-parametr-display-none.html)

greatilya 05.12.2008 08:55

Строки и параметр display:none
 
В ИЕ дисплей ноне а потом block работает отлично. В опере и FF когда пишу display:block то строка появляется но как-то "влетает" в ячейку. подкажите где здесь тонкость (на всяк. случай даю весь код):
<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>Untitled Document</title>
</head>

<body>
<style type="text/css">
.tr-open {color:#003399; cursor:pointer;} 
</style>
<table width="800" border="1" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <th width="35">№</th>
    <th width="555">Модули</th>
    <th width="100">Высота <br>
    <nobr>модуля (м)</nobr></th>
    <th width="100">Цена руб.<br>
    за шт. </th>
  </tr>
  <tr>
    <td align="center">1</td>
    <td align="center">Нижний модуль <span class="tr-open" onclick="if(document.getElementById('strk1').style.display=='none') document.getElementById('strk1').style.display='block'; else document.getElementById('strk1').style.display='none';">[подробно]</span> </td>
    <td align="right">150</td>
    <td align="right">5000</td>
  </tr>
  <tr id="strk1" style="display:none;">
    <td align="center">&nbsp;</td>
    <td colspan="3" align="center"><table width="100%" border="0" cellspacing="0" cellpadding="5">
      <tr>
        <td width="250" align="center" valign="middle"><img src="images/spacer.gif" width="200" height="150" /></td>
        <td valign="top">Описание</td>
      </tr>
    </table></td>
  </tr>
  <tr>
    <td align="center">2</td>
    <td align="center">Средний модуль </td>
    <td align="right">200</td>
    <td align="right">6000</td>
  </tr>
</table>
</body>
</html>

Kolyaj 05.12.2008 09:14

У tr display должен быть table-row, а не block. А лучше вообще visiblity использовать.

greatilya 05.12.2008 09:26

Насколько я знаю, visiblity, только скрывает объект, не освобождая занимаемое им место на экране.
Исправил на:
<span class="tr-open" onclick="if(document.getElementById('strk1').style.display=='none') document.getElementById('strk1').style.display='table-row'; else document.getElementById('strk1').style.display='none';">[подробно]</span>

Опера и ff всё ок!) В ИЕ ошибка: "не удалось получить свойство display"

Kolyaj 05.12.2008 09:48

ИЕ не знает такого свойства :) Устанавливайте просто пустое.

greatilya 05.12.2008 10:04

Работает! полный респект!


Часовой пояс GMT +3, время: 01:16.