1.背景图片放大
使用css设置背景图片大小100%,同时设置位置和过渡效果,然后使用:hover设置当鼠标悬停时修改图片大小,实现悬停放大效果。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>测试</title>
<style>
.box{
border: 5px solid black;
width: 400px;
height: 400px;
margin: 100px auto;
background-image: url(./1.png);
/* 设置背景大小为100% */
background-size: 100%;
/* 设置背景图片位置 */
background-position: 50% 50%;
/* 添加过渡效果 */
transition: all 1s;
}
.box:hover{
/* 鼠标悬停时放大 */
background-size: 120%;
}
</style>
</head>
<body>
<div class="box"></div>
</body>
</html>
2.img图片放大
在div中添加img元素,给div添加弹性布局保证图片始终位于居中位置,当鼠标悬停于img时修改图片大小。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>测试</title>
<style>
.box {
border: 5px solid black;
width: 400px;
height: 400px;
margin: 100px auto;
/* 设置溢出隐藏 */
overflow: hidden;
/* 使用弹性布局保证图片居中 */
display: flex;
justify-content: center;
align-items: center;
}
.box img {
/* 设置大小 */
width: 100%;
height: 100%;
/* 给图片添加过渡效果 */
transition: all 1s;
}
.box img:hover {
/* 鼠标悬停放大 */
width: 120%;
height: 120%;
}
</style>
</head>
<body>
<div class="box">
<img src="./1.png" alt="">
</div>
</body>
</html>
3.使用transform: scale(1)
使用这一方法与img放大类似,不过好处是不用手动设置图片居中,transform: scale(1);会在原位置上放大。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>测试</title>
<style>
.box {
border: 5px solid black;
width: 400px;
height: 400px;
margin: 100px auto;
/* 设置溢出隐藏 */
overflow: hidden;
}
.box img {
width: 100%;
height: 100%;
/* 设置放大比例 */
transform: scale(1);
/* 给图片添加过渡效果 */
transition: all 1s;
}
.box img:hover {
/* 修改放大比例 */
transform: scale(1.2);
}
</style>
</head>
<body>
<div class="box">
<img src="./1.png" alt="">
</div>
</body>
</html>