Подробное описание и демонстрацией работы эффекта наведения под номером №146 для бибилиотеки Bootstrap. Html и CSS код для реализации hover effect как на изображении.
html разметка для реализации данного эффекта<div class="container"> <div class="row"> <div class="col-md-4 col-sm-6"> <div class="box"> <img src="https://fokit.ru/demo/images/hover-effect/hover-effect-style-146/img-1.jpg"/> <div class="box-content"> <h3 class="title">Williamson</h3> <ul class="icon"> <li><a href="#" class="fa fa-search"></a></li> <li><a href="#" class="fa fa-link"></a></li> </ul> </div> </div> </div> <div class="col-md-4 col-sm-6"> <div class="box"> <img src="https://fokit.ru/demo/images/hover-effect/hover-effect-style-146/img-2.jpg"/> <div class="box-content"> <h3 class="title">Kristiana</h3> <ul class="icon"> <li><a href="#" class="fa fa-search"></a></li> <li><a href="#" class="fa fa-link"></a></li> </ul> </div> </div> </div> </div> </div>css разметка для реализации данного эффекта
.box{ background: #000; box-shadow: 0 0 3px rgba(0, 0, 0, 0.3); overflow: hidden; position: relative; } .box:before, .box:after{ content: ""; border-width: 0 180px 140px 180px; border-style: solid; border-color: transparent transparent #0d5f45 transparent; position: absolute; bottom: 0; left: 50%; z-index: 1; transform: translate(-55%, 100%); transition: all 0.5s 0s cubic-bezier(0.6, -0.28, 0.735, 0.045); } .box:after{ border-width: 150px 250px; border-color: transparent #18ab69 #18ab69 #008148; top: 25%; transform: translate(-60%, 100%); } .box:hover:before{ transition: all 0.4s 0s cubic-bezier(0.175, 0.885, 0.32, 1.275); transform: translate(-55%, 0); transition-delay: 0.2s; } .box:hover:after{ transition: all 0.4s 0s cubic-bezier(0.175, 0.885, 0.32, 1.275); transform: translate(-60%, 0); transition-delay: 0s; } .box img{ width: 100%; height: auto; opacity: 1; transform: scale(1.1) translateY(3%); transition: all 0.5s ease 0s; } .box:hover img{ transform: scale(1.1) translateY(-3%); opacity: 0.4; } .box .box-content{ padding: 20px 0 0 20px; position: absolute; top: 0; left: 0; opacity: 0; z-index: 2; transform: translateY(20%); transition: all 0.5s ease 0s; } .box:hover .box-content{ opacity: 1; transform: translate(0px); transition-delay: 0.1s; } .box .title{ font-size: 23px; font-weight: 800; color: #fff; letter-spacing: 1px; text-transform: uppercase; } .box .icon{ padding: 0; margin: 0; list-style: none; } .box .icon li{ display: inline-block; } .box .icon li a{ display: block; width: 35px; height: 35px; line-height: 35px; border-radius: 50%; background: #18ab69; font-size: 18px; color: #fff; text-align: center; margin-right: 10px; transition: all 0.3s ease 0s; } .box .icon li a:hover{ transform: rotate(360deg); } @media only screen and (max-width:990px){ .box{ margin-bottom: 20px; } } @media only screen and (max-width: 767px) and (min-width: 600px){ .box:before{ border-width: 0 250px 240px; } .box:after{ border-width: 260px 460px; } } @media only screen and (max-width: 599px) and (min-width: 430px){ .box:before{ border-width: 0 220px 120px; } .box:after{ border-width: 260px 460px; } }