[CSS Animation] PCPP Loading Boxes
02 июля 2017
Красивая и не слишком сложная анимация, например, для загрузочной страницы сайта.
HTML
<h1 class="intro">[CSS animation] PCPP Loading Boxes</h1> <div class="box"> <div class="cube"></div> <div class="cube"></div> <div class="cube"></div> <div class="cube"></div> </div>
CSS
.cube { position: absolute; width: 1em; height: 1em; background: #FED74C; -webkit-animation: move 3s ease-in-out infinite; animation: move 3s ease-in-out infinite; -webkit-transform-style: preserve-3d; transform-style: preserve-3d; box-shadow: 5em 5em .3em .1em #DBDBDB; } .cube::before, .cube::after { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; } .cube::before { background-color: #C97431; -webkit-transform-origin: 100% 100%; transform-origin: 100% 100%; -webkit-transform: rotateY(-90deg); transform: rotateY(-90deg); } .cube::after { background-color: #E7A22B; -webkit-transform-origin: 0% 100%; transform-origin: 0% 100%; -webkit-transform: rotateX(90deg); transform: rotateX(90deg); } .cube:nth-of-type(1) { -webkit-animation-delay: -11.25s; animation-delay: -11.25s; } .cube:nth-of-type(2) { -webkit-animation-delay: -10.5s; animation-delay: -10.5s; } .cube:nth-of-type(3) { -webkit-animation-delay: -9.75s; animation-delay: -9.75s; } .cube:nth-of-type(4) { -webkit-animation-delay: -9s; animation-delay: -9s; } @-webkit-keyframes move { 0%, 87.5%, 100% { -webkit-transform: translate(1em, 0em); transform: translate(1em, 0em); } 12.5% { -webkit-transform: translate(2em, 0em); transform: translate(2em, 0em); } 25% { -webkit-transform: translate(2em, 1em); transform: translate(2em, 1em); } 37.5%, 50% { -webkit-transform: translate(1em, 1em); transform: translate(1em, 1em); } 62.5% { -webkit-transform: translate(0em, 1em); transform: translate(0em, 1em); } 75% { -webkit-transform: translate(0em, 0em); transform: translate(0em, 0em); } } @keyframes move { 0%, 87.5%, 100% { -webkit-transform: translate(1em, 0em); transform: translate(1em, 0em); } 12.5% { -webkit-transform: translate(2em, 0em); transform: translate(2em, 0em); } 25% { -webkit-transform: translate(2em, 1em); transform: translate(2em, 1em); } 37.5%, 50% { -webkit-transform: translate(1em, 1em); transform: translate(1em, 1em); } 62.5% { -webkit-transform: translate(0em, 1em); transform: translate(0em, 1em); } 75% { -webkit-transform: translate(0em, 0em); transform: translate(0em, 0em); } } .box { position: absolute; top: 0; left: 0; right: 0; bottom: 0; width: 3em; height: 2em; margin: 30vmin auto; font-size: 50px; -webkit-transform-style: preserve-3d; transform-style: preserve-3d; -webkit-transform: rotateX(60deg) rotateZ(45deg); transform: rotateX(60deg) rotateZ(45deg); } .box:hover * { -webkit-animation-play-state: paused; animation-play-state: paused; } .box:active * { -webkit-animation-play-state: running; animation-play-state: running; } *, *::before, *::after { box-sizing: border-box; } html { height: 100%; } body { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; min-height: 100%; margin: 0; line-height: 1.4; } .intro { width: 90%; max-width: 50rem; padding-top: .5em; padding-bottom: 1rem; margin: 0 auto 1em; font-size: calc(1rem + 2vmin); text-transform: capitalize; text-align: center; font-family: serif; border-bottom: 1px dashed rgba(0, 0, 0, 0.5); } .info { margin: auto 0 0; padding: 1em; font-size: .9em; font-style: italic; font-family: serif; text-align: right; opacity: .5; } .info a { color: inherit; }
Готовый пример:
See the Pen [CSS Animation] PCPP Loading Boxes by Denis (@deniscreative) on CodePen.0
Фиксированное меню при прокрутке страницы
Один из множества примеров сделать фиксированное меню при прокрутке. Пример упрощен, потому что хедер изначально…
Вертикальные параллакс-эффекты при прокрутке страницы с помощью Stellar.js
Делаем параллакс-эффект для больших блоков с фоном и для отдельных элементов на сайте. Подключаем jQuery…
Полезные ссылки для вебмастеров
Ссылки на ресурсы, которые я использую в своей работе. Это мои реферальные ссылки, плохого не…
Открытие новых вкладок скриптом
Появилась необходимость сделать открытие дополнительной вкладки в браузере без желания на то пользователя. Технически сделать…