加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 综合聚焦 > 编程要点 > 语言 > 正文

如何使用 CSS来实现图片的缓慢自动调整大小功能

发布时间:2023-08-30 14:01:17 所属栏目:语言 来源:
导读:这篇文章主要介绍“CSS实现图片缓慢放大缩小效果的方法是什么”的相关知识,下面会通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“CSS实现图片缓慢放大缩小效果的方法是什么
这篇文章主要介绍“CSS实现图片缓慢放大缩小效果的方法是什么”的相关知识,下面会通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“CSS实现图片缓慢放大缩小效果的方法是什么”文章能帮助大家解决问题。
 
方法:1、使用“@keyframes 动画名称{}”规则和“transform:scale(缩放比例);”语句创建放大缩小动画;2、使用“图片元素{animation:动画名称 时间 infinite;}”语句缩放动画应用于图片元素中。
 
本教程操作环境:windows7系统、CSS3&&HTML5版、Dell G3电脑。
 
在css中,可以使用animation属性、“@keyframes”规则、transform: scale()实现图片放大缩小动画。
 
示例1:
 
<div class="ballon"></div>
 
/*css部分*/
 
   @keyframes scaleDraw {  /*定义关键帧、scaleDrew是需要绑定到选择器的关键帧名称*/
 
            0%{
 
                transform: scale(1);  /*开始为原始大小*/
 
            }
 
            25%{
 
                transform: scale(1.1); /*放大1.1倍*/
 
            }
 
            50%{
 
                transform: scale(1);
 
            }
 
            75%{
 
                transform: scale(1.1);
 
            }
 
        }
 
    .ballon{
 
            width: 150px;
 
            height: 200px;
 
            background: url("images/balloon.png");
 
            background-size: 150px 200px;
 
            -webkit-animation-name: scaleDraw; /*关键帧名称*/
 
            -webkit-animation-timing-function: ease-in-out; /*动画的速度曲线*/
 
            -webkit-animation-iteration-count: infinite;  /*动画播放的次数*/
 
            -webkit-animation-duration: 5s; /*动画所花费的时间*/
 
        }
 
上面的几个属性也可以合在一起写
 
animation: scaleDraw 5s ease-in-out infinite;
 
-webkit-animation: scaleDraw 5s ease-in-out infinite;
 
实例2:
 
 <div class="live">
 
         <img src="images/live.png" alt="">
 
         <span></span>
 
         <span></span>
 
 </div>
 
.live{
 
           position: relative;
 
           width: 100px;
 
           height: 100px;
 
       }
 
       .live img{
 
           width: 100px;
 
           height: 100px;
 
           z-index: 0;
 
       }
 
        @keyframes living {
 
            0%{
 
                transform: scale(1);
 
                opacity: 0.5;  
 
            }
 
            50%{
 
                transform: scale(1.5);  
 
                opacity: 0;   /*圆形放大的同时,透明度逐渐减小为0*/
 
            }
 
            100%{
 
                transform: scale(1);
 
                opacity: 0.5;
 
            }
 
        }
 
        .live span{
 
            position: absolute;
 
            width: 100px;
 
            height: 100px;
 
            left: 0;
 
            bottom: 0;
 
            background: #fff;
 
            border-radius: 50%;
 
            -webkit-animation: living 3s linear infinite;
 
            z-index: -1;
 
        }
 
        .live span:nth-child(2){
 
            -webkit-animation-delay: 1.5s; /*第二个span动画延迟1.5秒*/
 
        }
 
实质就是就是利用了动画的延迟属性,两层圆的动画相关的属性基本相同,除了最外层的圆多设置了animation-delay属性
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章