Подробное описание и демонстрацией работы эффекта наведения под номером №138 для бибилиотеки 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-138/img-1.jpg" alt=""/> <div class="box-content"> <ul class="icon"> <li><a href="#" class="left"><i class="fa fa-link"></i></a></li> <li><a href="#" class="right"><i class="fa fa-search"></i></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-138/img-2.jpg" alt=""/> <div class="box-content"> <ul class="icon"> <li><a href="#" class="left"><i class="fa fa-link"></i></a></li> <li><a href="#" class="right"><i class="fa fa-search"></i></a></li> </ul> </div> </div> </div> </div> </div>css разметка для реализации данного эффекта
.box{ background: #36300c; color: #fff; overflow: hidden; box-shadow: 0 0 3px rgba(0, 0, 0, 0.3); position: relative; transition: all 0.3s ease-out 0s; } .box img{ width: 100%; height: auto; opacity: 1; transition: all 0.3s ease-out 0s; } .box:hover img{ opacity: 0.2; transform: scale(1.1); } .box .box-content{ width: 78px; height: 78px; background-color: rgba(255, 255, 255, 0); overflow: hidden; margin: auto; position: absolute; top: 0; left: 0; bottom: 0; right: 0; transform: rotate(45deg); transition: all 0.3s ease-out 0s; } .box:hover .box-content{ background-color: rgba(255, 255, 255, 0.3); } .box .icon{ padding: 0; margin: 0; list-style: none; transition: all 0.3s ease-out 0s; } .box .icon li{ display: inline-block; } .box .icon li a{ display: block; width: 40px; height: 40px; line-height: 40px; background: #696161; border: 2px solid #fff; font-size: 20px; color: #fff; text-align: center; position: absolute; transition: all 0.2s ease 0s; } .box .icon li a.left{ bottom: 0; left: 0; transform: translate(-100%, 100%); } .box .icon li a.right{ top: 0; right: 0; transform: translate(100%, -100%); } .box .icon li a:hover{ background: #2b74c1; } .box:hover .box-content .icon li a{ transform: translate(0%, 0%); transition-delay: 0.35s; } .box .icon li a i{ transform: rotate(-45deg); } .box .box-content:before, .box .box-content:after, .box .box-content .icon:before, .box .box-content .icon:after{ content: ""; display: block; background: #fff; position: absolute; transition: all 0.4s ease-in-out 0s; } .box .box-content:before, .box .box-content:after{ width: 0; height: 2px; } .box .box-content .icon:before, .box .box-content .icon:after{ width: 2px; height: 0; } .box .box-content:before, .box .box-content .icon:before{ top: 0; left: 0; } .box .box-content:after, .box .box-content .icon:after{ bottom: 0; right: 0; } .box:hover .box-content:before, .box:hover .box-content:after{ width: 100%; } .box:hover .box-content .icon:before, .box:hover .box-content .icon:after{ height: 100%; } @media only screen and (max-width:990px){ .box{ margin-bottom: 20px; } }