diff options
1 files changed, 92 insertions, 0 deletions
| -rw-r--r-- | src/parallax.less | 92 |
diff --git a/src/parallax.less b/src/parallax.less new file mode 100644 index 0000000..15f9f5e --- /dev/null +++ b/src/parallax.less @@ -0,0 +1,92 @@ +// Parallax +@parallax-deg: 3deg; + +.parallax { + display: block; + height: auto; + position: relative; + width: auto; + + .parallax-content { + box-shadow: 0 2.5rem 5rem rgba(0, 0, 0, .45); + height: auto; + transform: perspective(600px); + transform-style: preserve-3d; + transition: all .4s ease; + width: 100%; + + &::before { + content: ""; + display: block; + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; + } + } + + .parallax-top-left { + .parallax-dir(); + left: 0; + top: 0; + + &:hover ~ .parallax-content { + transform: perspective(600px) rotateX(@parallax-deg) rotateY(-@parallax-deg); + + &::before { + background: linear-gradient(135deg, rgba(255, 255, 255, 0.25) 0%, rgba(255, 255, 255, 0) 50%); + } + } + } + + .parallax-top-right { + .parallax-dir(); + right: 0; + top: 0; + + &:hover ~ .parallax-content { + transform: perspective(600px) rotateX(@parallax-deg) rotateY(@parallax-deg); + + &::before { + background: linear-gradient(-135deg, rgba(255, 255, 255, 0.25) 0%, rgba(255, 255, 255, 0) 50%); + } + } + } + + .parallax-bottom-left { + .parallax-dir(); + bottom: 0; + left: 0; + + &:hover ~ .parallax-content { + transform: perspective(600px) rotateX(-@parallax-deg) rotateY(-@parallax-deg); + + &::before { + background: linear-gradient(45deg, rgba(255, 255, 255, 0.25) 0%, rgba(255, 255, 255, 0) 50%); + } + } + } + + .parallax-bottom-right { + .parallax-dir(); + bottom: 0; + right: 0; + + &:hover ~ .parallax-content { + transform: perspective(600px) rotateX(-@parallax-deg) rotateY(@parallax-deg); + + &::before { + background: linear-gradient(-45deg, rgba(255, 255, 255, 0.25) 0%, rgba(255, 255, 255, 0) 50%); + } + } + } +} + +.parallax-dir() { + //background: rgba(0,0,0,.15); + height: 50%; + position: absolute; + width: 50%; + z-index: 99; +} |