visibility: collapse в FF не работает?!
От: fran  
Дата: 29.01.08 20:45
Оценка:
Подскажите люди добрые .... в чем может быть проблема. Скорее всего — понимаю что в голове — но всеже без подсказки уже не могу
Вобщем пытаюсь скрыть ячейки ... что то типа display: none .... нужно чтобы крос-браузерно, как следствие для FF (а здесь вопрос именно в нем) смотрю в стороно visibility как и обещают многие доки.
Вот он (ниже) небольшой пример кода(сама задача несколько обширнее), который почему то отказывается работать в FF 2.0.0.11

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

Вот вобщем то и вопрос — почему и как бороться?


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
        <title>Untitled Document</title>
    </head>
    <body>
        <table width="70%" border="1">
            <tr>
                <td>
                    1
                </td>
                <td id="id1">
                    2
                </td>
                <td id="id2">
                    3
                </td>
                <td>
                    4
                </td>
            </tr>
        </table>
        <script type="text/javascript">
            function hide() {
                document.getElementById('id1').style.visibility = 'collapse';
                document.getElementById('id2').style.visibility = 'collapse';
            }
            
            function show() {
                document.getElementById('id1').style.visibility = 'visible';
                document.getElementById('id2').style.visibility = 'visible';
            }
        </script>
        <input type="button" value="1" onclick="hide()" />
        <input type="button" value="2" onclick="show()" />
    </body>
</html>
Re: visibility: collapse в FF не работает?!
От: . Великобритания  
Дата: 29.01.08 23:05
Оценка:
fran wrote:
>

> Подскажите люди добрые .... в чем может быть проблема. Скорее всего —

> понимаю что в голове — но всеже без подсказки уже не могу
> Вобщем пытаюсь скрыть ячейки ... что то типа display: none .... нужно
Не понял. А почему должно работать? По спеке:

The 'visibility' property takes the value 'collapse' for row, row group, column, and column group elements. This value causes the entire row or column to be removed from the display, and the space normally taken up by the row or column to be made available for other content. Contents of spanned rows and columns that intersect the collapsed column or row are clipped. The suppression of the row or column, however, does not otherwise affect the layout of the table. This allows dynamic effects to remove table rows or columns without forcing a re-layout of the table in order to account for the potential change in column constraints. (с)

А ты к ячейке применяешь...
Posted via RSDN NNTP Server 2.1 beta
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[2]: visibility: collapse в FF не работает?!
От: c-smile Канада http://terrainformatica.com
Дата: 30.01.08 04:11
Оценка:
Здравствуйте, ., Вы писали:

.>А ты к ячейке применяешь...


Этот visibility:collapse вообще странная вещь. Почему только к column или row.

По хорошему (т.е. как в htmlayout ) visibility:collapse должен быть эквивалентом display:none;
Тогда пользы от этого было гораздо больше.

Т.е. вместо
  li.style.display = "none";
  li.style.display = "block"; // бага однако.

гораздо правильнее было бы писать
  li.style.visibility = "collapsed";
  li.style.visibility = "visible"; // значительно лучше.
Re[3]: visibility: collapse в FF не работает?!
От: anonymous Россия http://denis.ibaev.name/
Дата: 30.01.08 09:00
Оценка:
Здравствуйте, c-smile, Вы писали:

.>>А ты к ячейке применяешь...

CS>Этот visibility:collapse вообще странная вещь. Почему только к column или row.

Чтобы не мучить браузер перераспределением пустого пространства между оставшимися ячейками таблицы. Наверное. Ведь не ясно, по каким правилам это делать.
Re[4]: visibility: collapse в FF не работает?!
От: c-smile Канада http://terrainformatica.com
Дата: 30.01.08 23:49
Оценка:
Здравствуйте, anonymous, Вы писали:

A>Здравствуйте, c-smile, Вы писали:


.>>>А ты к ячейке применяешь...

CS>>Этот visibility:collapse вообще странная вещь. Почему только к column или row.

A>Чтобы не мучить браузер перераспределением пустого пространства между оставшимися ячейками таблицы. Наверное. Ведь не ясно, по каким правилам это делать.


Кому не ясно?

Вот попробуй:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
        <title>Untitled Document</title>
    </head>
    <body>
        <table width="70%" border="1">
            <tr>
                <td>
                    1
                </td>
                <td id="id1">
                    2
                </td>
                <td id="id2">
                    3
                </td>
                <td>
                    4
                </td>
            </tr>
        </table>
        <script type="text/javascript">
            function hide() {
                document.getElementById('id1').style.display = 'none';
                document.getElementById('id2').style.display = 'none';
            }
            
            function show() {
                document.getElementById('id1').style.display = 'table-cell';
                document.getElementById('id2').style.display = 'table-cell';
            }
        </script>
        <input type="button" value="1" onclick="hide()" />
        <input type="button" value="2" onclick="show()" />
    </body>
</html>


Бага это мозилловская.
Re[5]: visibility: collapse в FF не работает?!
От: anonymous Россия http://denis.ibaev.name/
Дата: 31.01.08 08:39
Оценка:
Здравствуйте, c-smile, Вы писали:

CS>Бага это мозилловская.


Не понял, Mozilla настолько крута, что её баг W3C объявил стандартом в CSS2.1? Именно там написано по строки и колонки.
Re[6]: visibility: collapse в FF не работает?!
От: c-smile Канада http://terrainformatica.com
Дата: 31.01.08 17:37
Оценка:
Здравствуйте, anonymous, Вы писали:

A>Здравствуйте, c-smile, Вы писали:


CS>>Бага это мозилловская.


A>Не понял, Mozilla настолько крута, что её баг W3C объявил стандартом в CSS2.1? Именно там написано по строки и колонки.


Да нет, эта фраза (про багу) случайно осталась неудаленной из сообщения. Извиняюсь.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.