用css的a:hoverimg放大图片时怎么让放大后的图片从原图片的中心放大

html-css04

用css的a:hoverimg放大图片时怎么让放大后的图片从原图片的中心放大,第1张

用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就行了   如果你遇到这种问题可以试试。