Mambli-Joe
@Mambli-Joe

Как запретить overlay выходить за пределы картинки при :hover?

Доброго времени суток. Есть блок с карточками команды, которые состоят из img + текст под ними. Добавляю блок overlay, который должен появиться при наведении на картинку, скрываю и в :hover прописываю показывать. Но overlay накладывается и на картинку и на текст под ним. Можно ли как то запретить overlay выходить за пределы картинки и что б это было адаптивно? Сделал через изменения width и height и position, но при изменении размеров экрана приходится через media меня положение.
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<style>
.container {
  position: relative;
  width: 100%;
  max-width: 400px;
}

.image {
  display: block;
  width: 100%;
  height: auto;
}

.overlay {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  height: 100%;
  width: 100%;
  opacity: 0;
  transition: .3s ease;
  background-color: red;
}

.container:hover .overlay {
  opacity: 1;
}

.icon {
  color: white;
  font-size: 100px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  text-align: center;
}

.fa-user:hover {
  color: #eee;
}
</style>
</head>
<body>

<h2>Fade in Overlay Icon</h2>
<p>Hover over the image to see the effect.</p>

<div class="container">
  <img src="img_avatar.png" alt="Avatar" class="image">
  <div class="overlay">
  <a href="#" class="icon" title="User Profile">
    <i class="fa fa-user"></i>
  </a>
  </div>
 <h2>USER NAME</h2>
<p>Web Developer</p>
</div>

</body>
</html>

ФОТО
5c4579cc57f61165100487.pngСсылка на codepen
  • Вопрос задан
  • 304 просмотра
Решения вопроса 1
RAX7
@RAX7
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы