<div class="container"> <div class="cards-container"> <div class="card"> <div class="elms-animation"> <span class="one"></span> <span class="two"></span> <span class="three"></span> <span class="four"></span> </div> <img src="https://images.unsplash.com/photo-1647036003499-94eebb3388c7?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxlZGl0b3JpYWwtZmVlZHw0M3x8fGVufDB8fHx8&auto=format&fit=crop&w=500&q=60" alt=""/> <div class="content"> <button>Discover</button> </div> </div> <div class="card"> <div class="elms-animation"> <span class="one"></span> <span class="two"></span> <span class="three"></span> <span class="four"></span> </div> <img src="https://images.unsplash.com/photo-1586348943529-beaae6c28db9?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxzZWFyY2h8M3x8bmF0dXJlfGVufDB8MXwwfHw%3D&auto=format&fit=crop&w=500&q=60" alt=""/> <div class="content"> <button>Discover</button> </div> </div> <div class="card"> <div class="elms-animation"> <span class="one"></span> <span class="two"></span> <span class="three"></span> <span class="four"></span> </div> <img src="https://images.unsplash.com/photo-1414609245224-afa02bfb3fda?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxzZWFyY2h8MTF8fG5hdHVyZXxlbnwwfDF8MHx8&auto=format&fit=crop&w=500&q=60" alt=""/> <div class="content"> <button>Discover</button> </div> </div> </div> </div> * { margin: 0; padding: 0; box-sizing: border-box; } body { background-color: lightsteelblue; } .card .content { display: flex; justify-content: center; align-items: center; } .container { max-width: 900px; margin-left: auto; margin-right: auto; padding: 30px 0; } .cards-container { height: 100vh; display: flex; align-items: center; justify-content: space-around; flex-wrap: wrap; padding-left: 15px; padding-right: 15px; } .card { max-width: 300px; height: 400px; position: relative; box-shadow: 0 0 15px rgba(0, 0, 0, .2); margin: 25px 0; width: 30%; } @media screen and (max-width: 700px) { .card { width: 45%; } } @media screen and (max-width: 500px) { .card { width: 90%; } } .card .elms-animation, .card .content { position: absolute; top: 0; left: 0; height: 100%; width: 100%; } .card .elms-animation { z-index: 5; } .card .elms-animation span { position: absolute; background-color: rgba(0, 0, 0, .6); height: 0; width: 0; transition: all .5s ease-out; } .card .elms-animation span.one { top: 0; left: 0; } .card .elms-animation span.two { top: 0; right: 0; } .card .elms-animation span.three { left: 0; bottom: 0; } .card .elms-animation span.four { right: 0; bottom: 0; } .card:hover .elms-animation span { width: 50%; height: 50%; } .card img { height: 100%; width: 100%; object-fit: cover; object-position: center; display: block; } .card .content { z-index: 6; visibility: hidden; } .card:hover .content { animation: show .3s .4s linear forwards; } .card .content button { padding: .6rem 1.3rem; border: 3px solid #FFF; background: transparent; color: #FFF; font-size: 1rem; outline: none; cursor: pointer; transition: background .3s ease; } .card .content button:hover { background: #FFF; color: #333; } @keyframes show { to { visibility: visible; } } Навигация по записям Dial Button Tab Bar Interaction