Як зробити плавне збільшення картинки при наведенні – ефект на чистому CSS
Прочитавши цю статтю, ви дізнаєтеся, як зробити так, щоб при наведенні мишки зображення плавно збільшувалося. І не просто збільшувалося у розмірах, а щоб створювався ефект зуму.
Ми будемо використовувати лише html та css. JavaScript нам не знадобиться.
Отже, напишемо трохи html коду. Ми помістимо нашу картинку img в блок із класом photo
<div class="photo">
<img src="https://webgolovolomki.com/wp-content/uploads/2020/11/hover-img.jpeg">
</div>
Тут я не додаю додаткових класів до картинки, щоб не заплутувати вас при поясненні. Але на своєму проекті, краще буде, якщо ви тегу img додасте якийсь свій клас і звертатиметеся до картинки цього класу.
Далі перейдемо до CSS. За допомогою hover ми зможемо змінювати значення властивостей.
В даному випадку ми збільшимо картинку, змінивши для неї властивість transform. Запишемо це у коді:
.photo:hover img {
transform: scale(1.1);
}
Тут ми прописали наступну інструкцію: при наведенні (hover) на блок, в якому міститься картинка (клас photo), ми змінюємо значення transform у самої картинки (img).
Значення scale – це, на скільки ми масштабуємо картинку. За промовчанням йде значення 1.
Щоб додати трохи плавності переходу, додамо властивість transition для тега img
img {
transition: transform 0.25s;
}
Тут ми вказали, яка властивість змінюватимемося і скільки триватиме перехід.
Тепер картинка у нас збільшується плавно, але вона виходить за межі своєї умовної рамки. Щоб це виправити, нам потрібно додати до блоку photo властивість overflow зі значенням hidden:
.photo {
overflow: hidden;
}
Ми ніби кажемо: все, що виходить за межі цього блоку, приховуємо.
Але це ще не все, адже браузер не знає, який розмір у нашого блоку тому нам потрібно його задати. А для картинки прописати, щоб вона займала всю ширину та висоту блоку photo.
У результаті вийде такий код:
.photo {
width: 400px;
height: 350px;
overflow: hidden;
}
img {
transition: transform 0.25s;
}
.photo:hover img {
transform: scale(1.1);
}
Приклад роботи:
See the Pen Как сделать плавное увеличение картинки при наведении — эффект на чистом CSS by Pelegrin (@pelegrin2puk) on CodePen.
Сподіваюся ви зрозуміли принцип, яким можна робити збільшення картинки при ховері. Я прикріплю наше відео, де ще раз докладно пояснюю.
возможно ли таким же незамысловатым способом сделать уменьшение картинки когда отводишь курсор? заранее благодарю!!
Супер!!!
Искал так долго во всяких виде… тут сел и сделал за 3 мин.
Мені сподобалась задачка, затупив і не глянув що вер і низ)) на уважність)) 😁 більше таких цікавих речей незавадить))