Direction aware Hover Effects using Pure CSS
This is a pure CSS implementation of the hover effects that slide in/out deep ending on the direction your mouse enters in/out. Based on CSS3 will-change, transform and transition properties.
1. HTML
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
<div class="row"> <div class="col"> <div class="img-container" style="background-image:url(1.jpg)"></div> <h2>Image Heading 1</h2> <div class="slide"> <p>Hover Effect 1</p> </div> </div> <div class="col"> <div class="img-container" style="background-image:url(1.jpg)"></div> <h2>Image Heading 2</h2> <div class="slide"> <p>Hover Effect 2</p> </div> </div> <div class="col"> <div class="img-container" style="background-image:url(1.jpg)"></div> <h2>Image Heading 3</h2> <div class="slide"> <p>Hover Effect 3</p> </div> </div> </div> |
2. CSS
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
.slide { background: rgba(#190115, 0.8); padding: 0 1.5rem; } .slide { position: absolute; top: 0; right: 0; bottom: 0; left: 0; -webkit-transition: all 0.275s ease-in-out, visibility 0s 0.275s; transition: all 0.275s ease-in-out, visibility 0s 0.275s; visibility: hidden; will-change: transform; -webkit-transform: translateY(100%); transform: translateY(100%); } .row:hover ~ .row .slide { -webkit-transform: translateY(-100%); transform: translateY(-100%); } .row:hover .slide { -webkit-transform: translateX(100%); transform: translateX(100%); } .row:hover .col:hover ~ .col .slide { -webkit-transform: translateX(-100%); transform: translateX(-100%); } .row:hover .col:hover .slide { -webkit-transform: none; transform: none; visibility: visible; -webkit-transition-delay: 0s; transition-delay: 0s; } |
[paypal-donation]