Эффект при наведении на картинку с текстом и кнопкой CSS

Эффект при наведении на картинку с текстом и кнопкой CSS является наиболее распространенным hover эффектом при создании сайта. Это отличный выход из положения, когда нужно предоставить пользователю дополнительную информацию в компактном виде, о товарах или услугах на сайте. При наведении курсора на изображение продукта с помощью красивого эффекта отображается информация о нем.

Пример

HTML


<ul class="hover-effect-cover">
  <li>
    <img src="image1.jpg" alt="">
    <div class="effect-to-right"> <!-- Выезжающая панель слева направо -->
      <h3>Заголовок</h3>
      <p>Текст</p>
      <a href="">Подробнее</a>
    </div>
  </li>
  <li>
    <img src="image2.jpg" alt="">
    <div class="effect-to-left"> <!-- Выезжающая панель справа налево -->
      <h3>Заголовок</h3>
      <p>Текст</p>
      <a href="">Подробнее</a>
    </div>
  </li>
  <li>
    <img src="image3.jpg" alt="">
    <div class="effect-to-top"> <!-- Выезжающая панель снизу вверх -->
      <h3>Заголовок</h3>
      <p>Текст</p>
      <a href="">Подробнее</a>
    </div>
  </li>
  <li>
    <img src="image4.jpg" alt="">
    <div class="effect-to-bottom"> <!-- Выезжающая панель сверху вниз -->
      <h3>Заголовок</h3>
      <p>Текст</p>
      <a href="">Подробнее</a>
    </div>
  </li>
</ul>
      

CSS


/* Настройки маркированного списка */
.hover-effect-cover {
    list-style:none;
    margin: 0 auto;
    width: 100%;
    text-align: center;
    padding: 0;
}
.hover-effect-cover li {
    position: relative;
    width: 49%; /* Задаем ширину элемента списка с картинкой*/
    display: inline-block;
    background-color: #fff;
    margin: 0;
    border: 5px solid #fff;
    box-shadow: 1px 3px 1px 0 rgba(0, 0, 0, 0.08);
    overflow: hidden;
}
/* Заголовок, текст и ссылка */
.hover-effect-cover li h3{
    color: #fff;
    margin: 5px;
}
.hover-effect-cover li p{
    color: #fff;
    margin: 5px;
}
.hover-effect-cover li a {
    display: block;
    text-decoration: none;
    padding: 15px;
    color: #fff;
    background: #000;
    border-radius: 5px;
    margin: 0 auto;
    transition: all 0.4s ease-in-out;
}
.hover-effect-cover li a:hover {
    background: #454545;
    color: #fff;
}
/* Выезжающий блок с текстом для панели слева направо */
.hover-effect-cover li > div.effect-to-right {
    width: 100%;
    height: 100%;
    position: absolute;
    display: flex;
    justify-content: center;
    flex-direction: column;
}
.hover-effect-cover li:hover > div.effect-to-right {
    position: absolute;
    overflow: hidden;
    top: 0;
    left: 0;
}
.hover-effect-cover li div.effect-to-right {
    opacity: 0;
    background-color: rgba(0, 0, 0, 0.3); /* Фон блока при наведении */
    transition: all 0.4s ease-in-out;
    color: #fff;
    transform: translate(-250px, 0px) rotate(0deg); /* Направление выезжающей панели */
}
.hover-effect-cover li:hover div.effect-to-right {
    opacity: 1;
    transform: translate(0px, 0px) rotate(0deg);
}
/* Выезжающий блок с текстом для панели справа налево */
.hover-effect-cover li > div.effect-to-left {
    width: 100%;
    height: 100%;
    position: absolute;
    display: flex;
    justify-content: center;
    flex-direction: column;
}
.hover-effect-cover li:hover > div.effect-to-left {
    position: absolute;
    overflow: hidden;
    top: 0;
    left: 0;
}
.hover-effect-cover li div.effect-to-left {
    opacity: 0;
    background-color: rgba(0, 0, 0, 0.3); /* Фон блока при наведении */
    transition: all 0.4s ease-in-out;
    color: #fff;
    transform: translate(250px, 0px) rotate(0deg); /* Направление выезжающей панели */
}
.hover-effect-cover li:hover div.effect-to-left {
    opacity: 1;
    transform: translate(0px, 0px) rotate(0deg);
}
/* Выезжающий блок с текстом для панели снизу вверх */
.hover-effect-cover li > div.effect-to-top {
    width: 100%;
    height: 100%;
    position: absolute;
    display: flex;
    justify-content: center;
    flex-direction: column;
}
.hover-effect-cover li:hover > div.effect-to-top {
    position: absolute;
    overflow: hidden;
    top: 0;
    left: 0;
}
.hover-effect-cover li div.effect-to-top {
    opacity: 0;
    background-color: rgba(0, 0, 0, 0.3); /* Фон блока при наведении */
    transition: all 0.4s ease-in-out;
    color: #fff;
    transform: translate(0px, 250px) rotate(0deg); /* Направление выезжающей панели */
}
.hover-effect-cover li:hover div.effect-to-top {
    opacity: 1;
    transform: translate(0px, 0px) rotate(0deg);
}
/* Выезжающий блок с текстом для панели сверху вниз */
.hover-effect-cover li > div.effect-to-bottom {
    width: 100%;
    height: 100%;
    position: absolute;
    display: flex;
    justify-content: center;
    flex-direction: column;
}
.hover-effect-cover li:hover > div.effect-to-bottom {
    position: absolute;
    overflow: hidden;
    top: 0;
    left: 0;
}
.hover-effect-cover li div.effect-to-bottom {
    opacity: 0;
    background-color: rgba(0, 0, 0, 0.3); /* Фон блока при наведении */
    transition: all 0.4s ease-in-out;
    color: #fff;
    transform: translate(0px, -250px) rotate(0deg); /* Направление выезжающей панели */
}
.hover-effect-cover li:hover div.effect-to-bottom {
    opacity: 1;
    transform: translate(0px, 0px) rotate(0deg);
}