translate(X, Y):2D面上的X方向和Y方向的移动;animation 属性里面,如果设置transform,则原样式中设置的transform可能会失效
比如:
.box { width: 100px; height: 100px; background-color: pink; transform: translate(100px, 100px); animation: move 2s linear infinite; } @keyframes move { 0% {transform: scale(1);} 100% {transform: scale(2);} }
.box的“transform”属性就会失效。。。
scale(num):2D面上的缩放,1是原始大小
rotate(num):2D面上的旋转,带上单位deg,如:rotate(30deg)
不断放大的正方形
<style> .box { width: 100px; height: 100px; background-color: pink; // 设置动画效果,持续两秒,匀速运动,无限次数,不倒放 animation: move 2s linear infinite; } @keyframes move { // 开始大小为原始大小,结束大小为两倍大小 0% {transform: scale(1);} 100% {transform: scale(2);} } </style> <body> <div class="box"></div> </body>
类似心脏跳动的心形
<style> .heart { width: 50rpx; height: 50rpx; // 设置动画效果,持续一秒,匀速运动,无限次数,不倒放 animation: beat 1s linear infinite; } @keyframes beat { // 每个大括号都是一次关键帧,0的时候为原始大小0.8,透明度1,剩下的以此类推 0% { transform: scale(0.8); opacity: 1; } 25% { transform: scale(1.2); opacity: 0.8; } 100% { transform: scale(0.8); opacity: 1; } } </style> <body> // 插入心脏图片 <image class="heart" src="./love.png"></image> </body>
类似心电图,从左往右逐渐出现
<style> .pictureBox { width: 360px; height: 100px; // 添加超出隐藏 overflow: hidden; animation: picStretch 10s linear infinite; } // 图片也要设置宽高,不要用百分比,用数字 .pictureBox img { width: 360px; height: 100px; } @keyframes picStretch { 0% {width: 0;} 20% {width: 72px;} 40% {width: 144px;} 60% {width: 216px;} 80% {width: 288px;} 100% {width: 360px;} } </style> <body> <div class="pictureBox"> <img src="./images/line.png" alt=""> </div> </body>
以上
有错望指正…