实现图片中心缩放

首先什么是中心缩放呢?相信大家都明白,就是以中心为原点放大图片。。。(感觉跟没说一样委屈不过大家肯定都明白)

首先说一下用css3实现的方式:

<!DOCTYPE html>
<html>
<head>
	<title></title>
	<style type="text/css">
	body{
		background-color: #D3C7C7;
	}
	div{
		width:300px;
		height:350px;
		margin:100px auto;	
	}
	img{
		cursor:pointer;
		width:300px;
		height:300px;
		-webkit-transform: scale(1.00); 
		transition:all 1s ease-out 0s;
	}
	img:hover{
		-webkit-transform: scale(1.50); 
		transition:all 1s ease-out 0s;
	}
	</style>
</head>
<body>
<div><img id="img" src="1 (3)/p1.jpg"/>
</div>
</body>
</html>
利用 transform属性 scale放大缩小,可以使用transition实现过渡效果,使变大变小不会特别突兀


然后是JavaScript方式:

<!DOCTYPE html>
<html>
<head>
	<title></title>
	<style type="text/css">
	body{
		background-color: #D3C7C7;
	}
	div{
		width:300px;
		height:350px;
		margin:100px auto;	
	}
	img{
		cursor:pointer;
		width:300px;
		height:300px;
		
	}
</style>
</head>
<body>
<div><img id="img" src="1 (3)/p1.jpg"/>
</div>
<script type="text/javascript">
 var img = document.getElementById('img'); 
 img.οnmοuseοver=bigger;
 img.οnmοuseοut=smaller;
 function bigger(){
 img.style.width = '400px'; 
 img.style.height = '400px';
 img.style.marginTop = "-50px"; 
 img.style.marginLeft = "-50px"; 
 } 
 function smaller(){ 
 img.style.width = '300px'; 
 img.style.height = '300px'; 
 img.style.marginTop = "0px";
 img.style.marginLeft = "0px"; 
}
</script>
</body>
</html>



在JavaScript实现的方法中,需要用到margin-top和margin-left这两个属性

说到margin就一定要说到盒模型,上图!


如果我们不给变大的时候加上margiin-top:-50px margin-left:-50px,那么图片就会以左上角为基点,放大或缩小图片的宽高,即


上个图来说明一下margin-top:-50px和margin-left:-50px是什么效果


所以当我们放大图片的宽高时,图片会向右下拉伸,想要实现中心放大,就需要我们把图片往回拽,即设置margin-left和margin-top为负值,当然这两个值要相同才能拽的正,否则就拽偏啦~~就不是中心缩放了哦!!


  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值