Rengga Dev – Reveal animation is an elegant and modern effect which is perfect to reveal images and texts as well. What makes it special is that it animates a single colored box in front of the actual layer.
// DEMO $color-main: #0fe4d2; $black: #202020; body { font-family: 'Montserrat', sans-serif; text-align: center; } div { display: inline-block; } .bigger { margin: 0; font-size: 60px; font-weight: 800; padding: 20px; text-transform: uppercase; color: $black; display: inline-block; position: relative; } .text { max-width: 600px; width: 100%; line-height: 24px; text-align: left; color: #404040; padding: 20px; &.txt-center { text-align: center; } a { color: $color-main; } } // ANIMATION .has-animation { position: relative; p, img { opacity: 0; } &.animate-in { p, img { animation: textHidden 0.1s 1.1s forwards; } &:before, &:after { content: ''; position: absolute; top: 0; right: 0; height: 100%; z-index: 10; } &:before { background-color: $color-main; } &:after { background-color: $black; animation-delay: .5s; } } &.animation-ltr.animate-in { &:before { animation: revealLTR 1.8s ease; } &:after { animation: revealLTR 1s .6s ease; } } &.animation-rtl.animate-in { &:before { animation: revealRTL 1.8s ease; } &:after { animation: revealRTL 1s .6s ease; } } } @keyframes revealRTL { 0%{ width: 0; right: 0; } 65%{ width: 100%; right: 0; } 100% { width: 0; right: 100%; } } @keyframes revealLTR { 0%{ width: 0; left: 0; } 65%{ width: 100%; left: 0; } 100% { width: 0; left: 100%; } } @keyframes textHidden { 0% { opacity: 0; } 100% { opacity: 1; } }
$(document).ready(function() { $('.has-animation').each(function(index) { $(this).delay($(this).data('delay')).queue(function(){ $(this).addClass('animate-in'); }); }); });