css3做图片放大特效

想做一个图片墙的那种的,就是好多图片一点击就可以放大,缓慢放大那种,首先想到用css3实现,因为足够简单。这里因为动画要缓慢变大,所以要用到过渡属性transition这个属性,他可以定义你原来的css值的设置到后天发生事件比如hover这样的事件的时候,他是怎么过渡过去的。
下面先讲一个小例子,先看一下,入个门;体验一下transition这个是怎么用的

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style type="text/css">
        .con{width: 200px;height: 200px;margin:030px auto;background-color: pink;
            -webkit-transition: width 2s,height 2s;}
        .con:hover{width: 300px;height: 300px;background-color: red;-webkit-transition: width 2s,height 2s;}
    </style>
</head>
<body>
    <div class="con"></div>
</body>
</html>

运行这个代码可以看到中间的小方块的宽和高在同时增大,而且是经过了2s的时间,为什么要添加两个-webkit-transition: width 2s,height 2s;呢?是因为一个是你要经过2s时间变过去的样子,一个是你鼠标移走他怎么变回去的样子,这里我直接复制粘贴了,有兴趣的朋友可以直接改,体验一个这两个的区别。
下面我们来看他transition的属性,总共有四个属性,分别是
1.transition-property这个指的是要变化的属性名称,比如width
2.transition-duration:2s这个是的是要变化的时间,比如2s
3.transition-timing-function规定过渡的时间曲线,默认是ease也可是linear,ease-in、ease-out、ease-in-out也可以是cubic-bezier(n,n,n,n)在里面自己定义0到1之间的任何值。
4.transition-delay规定过渡时间是从什么时候开始。默认是0s
所以综上所述,可以归纳为这样
transition:property,duration,timing-funcition,delay。
这里每个值都可以设置多个,每一组用逗号分开就行这种

width 2s,height 2s;

不填的为默认值。这种设置单个属性width可以但是不好看,没有从中间变大,css3有一个2d和3d转换的属性transform这个东西,通过设置他的参数可以获得好多效果,包括上面的放大特效,这里就不手打了w3sshool上面有就直接贴了
css3transform详细介绍
详细的说明可以看这个图片。里面有个scale(x,y)可以改变元素的宽和高,也可以直接写一个参数,就是让他变为原来大小的多少倍,比如-webkit-transform: scale(1.50)
就是变为原来的1.5倍大小。
好通过学习上面两个属性就可以做出照片放大的效果;
下面我贴出我的代码供大家参考:希望有意见的尽管提;

<!DOCTYPE html>
<head>
    <meta charset="UTF-8">
    <title>pictureWallCss3</title>
    <link rel="stylesheet"  href="css/reset.css">
    <style>
    .images{width:600px;height:600px;margin:25px auto;}
    ul{padding: 0}
    li{width: 200px;height: 200px;float: left;}
    img{width: 98%;height: 98%;border: 1px solid white;
            ;
        transition:all 1s ease-out 0s;}
    img:hover{-webkit-transform: scale(1.10); 
            transition:all 0.5s ease-out 0s;
            position: relative;z-index: 2
        }
    </style>
</head>
<body>
    <div class="images">
            <ul>
                <li><img src="images/1.jpg"></li>
                <li><img src="images/2.jpg"></li>
                <li><img src="images/3.jpg"></li>
            </ul>
            <ul>
                <li><img src="images/4.jpg"></li>
                <li><img src="images/5.jpg"></li>
                <li><img src="images/6.jpg"></li>
            </ul>
            <ul>
                <li><img src="images/7.jpg"></li>
                <li><img src="images/8.jpg"></li>
                <li><img src="images/9.jpg"></li>
            </ul>
    </div>
</body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值