![]() |
Модераторы: Illuminaty |
![]() ![]() ![]() |
|
zodiac |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 120 Регистрация: 3.7.2009 Репутация: нет Всего: нет |
Здравствуйте!
Я сделал некоторое подобие аккордиона с применением слоев. Это корректно отображается в IE, но в Firefox 3.6 слой отказывается разворачиваться. Когда выполняется определенная функция, свойствам слоя устанавливается height и visibility=visible. Предпологается, что слой растянется и все что находится ниже его, сдвинется вниз, т.е. все будет работать как нормальный аккордеон. В IE все так и работает, но в Firefox элементы, которые расположены ниже слоя, отказываются сдвигаться, и происходит наслоение, из-за чего содержимое слоя становится нечитабельным( Стиль слоя:
После выполнения функции:
В чем может быть проблема? |
||||
|
|||||
Cheburek |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 74 Регистрация: 26.3.2006 Репутация: нет Всего: 1 |
Используй лучше, display:none; для скрытия элемента
Это сообщение отредактировал(а) Cheburek - 7.12.2010, 11:54 |
|||
|
||||
SelenIT |
|
|||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 97 Всего: 401 |
Этот height берется из реальной высоты содержимого (scrollHeight) или "от балды"? Если второе — слой и должен раздвигать окружение только на эту заданную величину, а всё, что сверх, при overflow:visible и должно "наслаиваться", такой стандарт (IE в режиме совместимости его не соблюдает, но это его проблемы). Если надо раздвинуть на фактическую высоту содержимого — имхо, проще всего задать height:auto. А зачем здесь игры с visibility, я честно говоря вообще не понял... -------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
|||
|
||||
zodiac |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 120 Регистрация: 3.7.2009 Репутация: нет Всего: нет |
Cheburek, спасибо, попробую!
SelenIT, height передается функции (раскрывает слой, устанавливая ему стили) в качестве параметра и подбирается к каждому конкретному блоку вручную... Но суть в том, что даже если height=1000, реальная высота слоя (в данном случае он хорошо виден, поскольку установлен цвет фона) в лучшем случае 10-15 пикселей, т.е. стандартная высота строки. Содержимое слоя исправно показывается поверх остального контента страницы. Visibility как раз и есть ключевой фактор, тк для скрытия слоя (и закрытия аккордеона) ставится visibility='hidden', слой убирается с глаз долой, и height=0, для верности. Чтобы открыть его содержимое - обратные действия. Попробую использовать свойство display вместо всего вышеописанного, как посоветовал Cheburek... |
|||
|
||||
zodiac |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 120 Регистрация: 3.7.2009 Репутация: нет Всего: нет |
Если использовать свойство display, все работает как надо!)
![]() Спасибо за помощь! |
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Вёрстка веб-сайтов | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |