Я поигрался с переходами CSS3, чтобы исчезнуть в оверлейном div, когда я столкнулся с необычной проблемой.
По сути, у меня есть элемент div, у которого установлены стили для его идентификатора - то есть background-color: # 000, opacity: 0 и т. Д., А также стили перехода, специфичные для браузера. По умолчанию наложенный элемент имеет класс «hiddenElement», в котором для него не задано ни одного отображения.
Когда наложение должно отображаться, класс hiddenElement удаляется, и добавляется другой класс «Initialized», этот класс устанавливает непрозрачность элементов равной 0,6.
Я ожидал, что элемент будет плавно анимирован, что происходит в Opera, но в Firefox и Chrome он работает не совсем так.
Я построил здесь отдельный случай: http://jsbin.com/obojet/27/.
Как вы можете видеть, когда addClass ('Initialised') "обернут в setTimeout (), даже с таймаутом 0 мс в chrome, он анимируется правильно. Просто делать addClass вне тайм-аута, не делать анимацию. В Firefox время ожидания должно быть больше - 50 мс. В опере это просто работает.
Вероятно, дело в UI / Javascript, сражающемся за один поток, но мне было просто любопытно, сталкивался ли кто-либо с подобными проблемами.