用CSS3中的transfrom:scale{x,y}来放大,如下:
<style>
*{margin:0padding:0}
div{border:solid 1px #333width:40pxheight:40px}
div img{width:40pxheight:40pxtransition:all 0.3s}
div img:hover{transfrom:scale{2,2}}//从中心放大两部
</style>
<div><img src="图片地址" alt=""/></div>
扩展资料:注意事项
transfrom是利用线性代数来存放一个控件(或许是图片)的具体信息.(由于可以通过transfrom直接操作控件.所以肯定直接或者间接的存储着点的信息和控件的大小等信息)
1、移动.左移右移或者上移下移:
CGAffineTransformMakeTranslation(X偏移量,Y偏移量)
CGAffineTransformTranslate(在某个transform的基础上-一般为自身,X偏移量,Y偏移量)
2、改变大小(形变):
CGAffineTransformMakeScale(宽缩放的倍数,高缩放的倍数)
CGAffineTransformScale(在某个transform的基础上-一般为自身,宽缩放的倍数,高缩放的倍数)
要实现鼠标放在block上以中心为原点进行放大,可以利用CSS3的transform和transition来实现CSS3的transform: scale()可以按比例放大或缩小block的功能。
这个简单,先讲一下原理
先设置图片垂直水平居中(position:absolute与translate3d 相结合) class为img
2.可以编写自定义animation 0的时候width为0,100%的时候width为你想要的宽度,高一样,其他的改设置的都设置一下 class为img active(这里是两个class) 来使用这个animation
3.在window.onload的事件下执行 只需给 img再加一个active的class就ok了
注意:我之前有在写自定义动画的时候在微信端执行不了动画,之后找到原因,给animation加一个延迟 100ms就行了 如果你遇到这种问题可以试试。