Плавное масштабирование изображений с помощью CSS
У меня есть изображение, которое я хочу увеличить, если пользователи наведут на него курсор мыши. В настоящее время это не происходит гладко.
пример:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Zoom</title>
<style>
.zoom:hover { zoom: 1.5; }
</style>
</head>
<body>
<p><img src="images/image.png" class="zoom"></p>
</body>
</html>
3 ответов
использовать transform
чтобы сгладить зум:
.zoom {
transition: transform 1s;
}
но вы должны изменить к scale
вместо масштабирования (спасибо @val):
.zoom:hover {
transform: scale(2);
}
Я создал скрипку, только для вас.
просто добавьте этот css и посмотрите, как он выглядит:)
.zoom{ -moz-transform: scale(1); -webkit-transform: scale(1); transform: scale(1); transition:0.7s ease all; -webkit-transition:0.7s ease all; -moz-transition:0.7s ease all;}
.zoom:hover{ -moz-transform: scale(1.5); -webkit-transform: scale(1.5); transform: scale(1.5);}
для плавных переходов необходимо использовать свойство transition.
.zoom{
transition: all .5s;
-moz-transition: all .5s;
-webkit-transition: all .5s;
-o-transition: all .5s;
-ms-transition: all .5s;
}
.zoom:hover {
transform : scale(1.25);
-moz-transform : scale(1.25);
-webkit-transform : scale(1.25);
-o-transform : scale(1.25);
-ms-transform : scale(1.25);
}