Мы хотели бы поделиться с вами коллекцией необычных и креативных переходов web-страниц. В ней собраны вместе несколько интересных анимаций, которые могут быть применены к web-страницам для создания классных эффектов при переходе на новую web-страницу. Тогда как одни эффекты очень примитивны, например простое скольжение, другие используют перспективу и 3D-трансформации для создания глубины и динамики.
Обратите внимание, что это статья – просто демонстрация некоторых классных эффектов для вдохновения.
CSS-анимации делятся на несколько разных наборов, в зависимости от того, как они себя ведут.
Обратите внимание: все эти эффекты работают только в браузерах, поддерживающих соответствующие свойства CSS.
Для демонстрации переходов мы использовали следующую структуру:
<div id="pt-main" class="pt-perspective"> <div class="pt-page pt-page-1"> <h1><span>Коллекция плавных</span>переходов<strong>web-страниц</strong></h1> </div> <div class="pt-page pt-page-2"><!-- ... --></div> <!-- ... --> </div>
Перспектива контейнера является относительной и мы установили её на 1200px. Следующие стили необходимы для работы всех анимаций:
.pt-perspective { position: relative; width: 100%; height: 100%; perspective: 1200px; transform-style: preserve-3d; } .pt-page { width: 100%; height: 100%; position: absolute; top: 0; left: 0; visibility: hidden; overflow: hidden; backface-visibility: hidden; transform: translate3d(0, 0, 0); } .pt-page-current, .no-js .pt-page { visibility: visible; } .no-js body { overflow: auto; } .pt-page-ontop { z-index: 999; }
Класс .pt-page-ontop
используется для создания некоторых переходов, где нам нужно оставить одну страницу поверх другой.
Примером классов и ключевых кадров для анимаций служат следующие:
/* масштабирование и исчезновение */ .pt-page-scaleDown { animation: scaleDown .7s ease both; } .pt-page-scaleUp { animation: scaleUp .7s ease both; } .pt-page-scaleUpDown { animation: scaleUpDown .5s ease both; } .pt-page-scaleDownUp { animation: scaleDownUp .5s ease both; } .pt-page-scaleDownCenter { animation: scaleDownCenter .4s ease-in both; } .pt-page-scaleUpCenter { animation: scaleUpCenter .4s ease-out both; } /************ ключевые кадры ************/ /* масштабирование и исчезновение */ @keyframes scaleDown { to { opacity: 0; transform: scale(.8); } } @keyframes scaleUp { from { opacity: 0; transform: scale(.8); } } @keyframes scaleUpDown { from { opacity: 0; transform: scale(1.2); } } @keyframes scaleDownUp { to { opacity: 0; transform: scale(1.2); } } @keyframes scaleDownCenter { to { opacity: 0; transform: scale(.7); } } @keyframes scaleUpCenter { from { opacity: 0; transform: scale(.7); } }
В этой демонстрации, мы применяем соответствующие классы анимации через JS для текущей страницы и для той, на которую переключаемся:
//... case 17: outClass = 'pt-page-scaleDown'; inClass = 'pt-page-moveFromRight pt-page-ontop'; break; case 18: outClass = 'pt-page-scaleDown'; inClass = 'pt-page-moveFromLeft pt-page-ontop'; break; case 19: outClass = 'pt-page-scaleDown'; inClass = 'pt-page-moveFromBottom pt-page-ontop'; break; // ...
Ознакомьтесь с демонстрацией, где вы можете переключаться между переходами просто нажимая первую кнопку, а из выпадающего меню можете выбрать конкретный эффект.
Я надеюсь вам понравились все эти эффекты и вы хоть немного вдохновились!
Источник