Допустим есть какой-то объект, div например. Он изначально невидимый. Как сделано не важно, то ли display=none, то ли убран в самый нижний слой, то ли аттрибут hidden, то ли ещё чего. И хочется сделать такую штуку, чтоб он появился резко, и тут же, через css transition эффект плавно уменьшился, например, с scale(1.2) до scale(1.0) Т.е. появился большой сразу и потом за секунду плавно уменьшился.
Получается, это сделать нельзя. Почему: допустим какая-то javascript функция делает его display=block (scale у него изначально 1.2) и делает scale=1.0. Отрисовку браузер начнёт после завершения функции. А в этот момент scale уже 1.0, вот он так сразу и нарисуется.
Можно сделать вначале display=block, потом некий Yield() (например, продолжить функцию через 0.5 сек таймер), потом только scale=1.0. Тогда будет плавно.
Как ещё можно сделать такую штуку?