淘先锋技术网

首页 1 2 3 4 5 6 7

今天在制作一个zblog模板的时候,用上了这个图片放大特效,想到以前也没写过,就分享出来吧!

在我第一次接触这个特效的时候,以为会很复杂,至少会有几行代码才能去实现,但学习后真的精到了!

CSS3的transform:scale()可以实现按比例放大或者缩小功能。

CSS3的transition允许CSS的属性值在一定的时间区间内平滑地过渡。这种效果可以在鼠标单击、获得焦点、被点击或对元素任何改变中触发,并圆滑地以动画效果改变CSS的属性值。

鼠标触发图片放大效果.gif

那么,什么是鼠标移上去,图片就原地放大的效果呢?

左边这个就是原图了,右边这个是放大后的效果图,尺寸被限制后,只在原地放大,只是图片原地放大而已!

鼠标移上去图片放大特效代码:

<!DOCTYPE html>  
<html>  
    <head>  
        <meta charset="UTF-8">  
        <title></title>  
        <style type="text/css">  
            div{  
                width: 300px;  
                height: 300px;  
                border: #000 solid 1px;  
                margin: 50px auto;  
                overflow: hidden;  
            }  
            div img{  
                cursor: pointer;  
                transition: all 0.6s;  
            }  
            div img:hover{  
                transform: scale(1.4);  
            }  
        </style>  
    </head>  
    <body>  
        <div>  
            <img src="img/focus.png" />  
        </div>  
    </body>  
</html>

可以看出,先用div限制的尺寸,并用overflow: hidden;仿制超出范围!

然后设置transition的变化时间,为0.6秒,可以自行设置大小,等于变化的速度!

而transform: scale(1.4); 意思是放大1.4倍了,也是可以调整设置的!

其实就这么简单,一个触发图片放大效果就做出来了!

PS:忘了说,transition和transform最好去兼容下其它浏览器!