CSS: удаление класса с видимостью: скрытый / позиция: абсолютная не отображается в IE6 / 7 - PullRequest
0 голосов
/ 07 мая 2009

У меня есть следующий класс CSS:

.hidden {
    visibility: hidden;
    position: absolute;
}

У меня есть div с этим классом. Если я удаляю класс, div не показывается. Но во второй раз я "удаляю это", показывает div. Есть идеи почему? Смотрите отдельный пример использования YUI для этого:

http://avernet.googlepages.com/ie-visibility.html (код также доступен на Pastie )

Примечание: я не могу использовать display: none в моем случае (что в противном случае сработало бы).

Ответы [ 3 ]

1 голос
/ 07 мая 2009

Вы имеете в виду display: none вместо visibility: hidden?

0 голосов
/ 08 мая 2009

Использование техники nudge для IE делает свое дело. Я добавил больше информации в эту вики: ищите заголовок Содержимое ячейки остается скрытым в IE .

А вот реализация для смещения , которое мы используем в коде Orbeon Forms:

/**
 * Nudge element after a short delay for IE6/7 to force IE to "do the right thing".
 */
nudgeAferDelay: function(element) {
    if (YAHOO.env.ua.ie != 0 && YAHOO.env.ua.ie <= 7) {
        window.setTimeout(function() {
            element.className = element.className;
        }, ORBEON.util.Utils.getProperty(INTERNAL_SHORT_DELAY_PROPERTY));
    }
}
0 голосов
/ 07 мая 2009

Похоже, это связано с "position: absolute;". Если вы удалите эту строку, она работает, или если вы добавите

div { position:absolute; }

это тоже работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...