[CSS3] Заставить работать transition

numer482
На сайте с 06.07.2011
Offline
44
762

Всем привет.

Цель: Хочется реализовать красивое и плавное появление "модальных окошек" на сайте.

Проблема: При написании эффекта на чистом JS обнаружил, что в лисе и опере уж жутко притормаживает. И вместо феерической радости, дарит пользователю грусть и разочарование.:o

Потом посмотрел в сторону css свойства transition - отличная вещь. Везде работает как часы. Ну или не работает.:bl: Ну это уже проблемы пользователя. Главное, что сайтом можно пользоваться и без плавности.

Корень зла: Оказалось, что браузер не хочет делать плавные переходы, если у элемента при первой "отрисовке" страницы есть свойство display: none либо его вообще не было(элемента):(

Так в этом же и весь прикол. Модальное окно и должно появятся поcле определенных событий. А transition обеспечить плавность его увеличения.:D:

Возможно гуру верстки знают как обойти проблему?

P.S. Суть эффекта в увеличении ширины и высоты с нуля до необходимого. По дороге еще увеличивает непрозрачность с нуля до 1. Как результат окно выскакивает из ниоткуда. По моему вполне симпатично:drink: Ну кому как...вкус такое дело...:rolleyes:

КОД - http://jsfiddle.net/8CmQf/10/

Алексей Барыкин
На сайте с 04.02.2008
Offline
272
#1

Выкладывайте проблему на http://jsfiddle.net, будем думать.

A-des
На сайте с 26.05.2007
Offline
96
#2

Возможно, стоит покопать в эту сторону.

numer482
На сайте с 06.07.2011
Offline
44
#3

http://jsfiddle.net/8CmQf/10/

Как видите плавность не хочет работать🙅

KS
На сайте с 11.06.2012
Offline
17
#4

А если оно изначально имеет нулевые высоту и ширину, может и не надо его дисплей-нонить? Его же всё равно не видно, и место оно не занимает?

FileSafe (http://filesafe.anek.ws/) - мониторинг неизменности файлов сайта для защиты от взлома. Для форумчан - первый год бесплатно.
gormarket
На сайте с 29.12.2010
Offline
47
#5

Если вместо

display

использовать

visibility

то все работает

в стилях

visibility: hidden;

в функции

id.style.visibility="visible";

Товары и цены в магазинах Вашего города: Городской рынок (http://gormarket.ru/)
numer482
На сайте с 06.07.2011
Offline
44
#6
gormarket:
Если вместо
display
использовать
visibility
то все работает

в стилях
visibility: hidden;
в функции
id.style.visibility="visible";

СПАСИБО!!! Совсем забыл про visibility:o

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий