Подскажите, как правильно и максимально просто сделать появление окна?
Например есть блок .shadow, который затемняет все окно и кнопка, которая его показывает/прячет.
Если у .shadow использовать transition, то с его помощью можно анимировать opacity, но сам прозрачный элемент нужно прятать.
Т.к. display анимировать нельзя, то можно использовать left, например.
.shadow {
position: fixed;
left: -10000px;
opacity: 0;
transition: opacity 1s;
}
.vibisle {
left: 0;
opacity: 1;
}
В таком случае, при добавлении класса visible к элементу .shadow, моментально применится свойство left, а затем медленно свойство opacity. Это то, что нужно, то теперь при удалении этого класса, свойство left все также моментально применится и элемент моментально скроется.
Как без лишнего джаваскрипт кода на чистом css сделать плавное появление/изчезание элемента?