Как сделать эффект лупы в css?

Пользователь

от eudora , в категории: HTML/CSS , 6 месяцев назад

Как сделать эффект лупы в css?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от maymie , 6 месяцев назад

@eudora 

Эффект лупы в CSS можно создать с помощью анимации и позиционирования элементов. Вот пример кода:


HTML:

1
2
3
<div class="container">
  <img class="image" src="image.jpg">
</div>


CSS:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
.container {
  overflow: hidden;
  position: relative;
  height: 200px; /* задайте высоту, соответствующую вашей картинке */
  width: 200px; /* задайте ширину, соответствующую вашей картинке */
}

.image {
  position: absolute;
  top: 0;
  left: 0;

  animation: loop 4s linear infinite;
}

@keyframes loop {
  50% {
    transform: scale(1.2);
  }
}


В этом примере контейнер с классом "container" имеет фиксированную ширину и высоту, равную вашей картинке. У него также задано "overflow: hidden", чтобы обрезать изображение до размеров контейнера.


Картинка с классом "image" позиционируется абсолютно внутри контейнера. С помощью анимации "loop" мы увеличиваем размер изображения на 20% в середине анимации (на 50%).


Используя это сочетание позиционирования и анимации, мы создаем эффект лупы, который будет бесконечно масштабироваться и вернется к исходному размеру каждые 4 секунды.