• CSS3动画@keyframes中translate和scale混用出错问题







    在写基于网页的2048时,想让一个元素出现时已经通过translate属性固定在指定位置,同时显示动画scale(0)-->scale(1),以实现放大出现效果。

    CSS代码为

    		@-webkit-keyframes mymove_failed
    		{
    		0%   {-webkit-transform:translate(50px,50px) scale(0);}
    		100% {-webkit-transform:translate(50px,50px) scale(1);}
    		}
    但是效果却和预想的不一样,研究后发现,将translate和scale的顺序反过来写,即可实现预期的效果,如下:

    		@-webkit-keyframes mymove_success
    		{
    		0%   {-webkit-transform:scale(0) translate(50px,50px);}
    		100% {-webkit-transform:scale(1) translate(50px,50px);}
    		}

    结论:同时使用translate和scale时,应将scale放前面。

    只测试了webkit内核的,其他内核未测试,不知道算不算一个BUG。


    代码如下:

    <!DOCTYPE html>
    <html lang="en">
    <head>
    	<meta charset="UTF-8">
    	<title>Document</title>
    	<style type="text/css">
    		.success {
    			 50px;
    			height: 50px;
    			background-color: #BBF7F7;
    			-webkit-animation: mymove_success 1s;
    			-webkit-animation-fill-mode: forwards;
    		}
    		.failed {
    			 50px;
    			height: 50px;
    			background-color: #FF6F6F;
    			-webkit-animation: mymove_failed 1s;
    			-webkit-animation-fill-mode: forwards;
    		}
    		@-webkit-keyframes mymove_failed
    		{
    		0%   {-webkit-transform:translate(50px,50px) scale(0);}
    		100% {-webkit-transform:translate(50px,50px) scale(1);}
    		}
    		@-webkit-keyframes mymove_success
    		{
    		0%   {-webkit-transform:scale(0) translate(50px,50px);}
    		100% {-webkit-transform:scale(1) translate(50px,50px);}
    		}
    	</style>
    </head>
    <body>
    	<div class="success"></div>
    	<div class="failed"></div>
    </body>
    </html>


  • 相关阅读:
    连续两天写论文
    既然杂事比较多,索性统统处理一下
    Power symbol
    不要被一些无谓的事情烦扰
    今天提前回去吧,整理一下,为下周做好准备。
    天气暖和了,我却感冒了
    每天回想一下,今天到底完成了什么
    opensue12.1硬盘升级安装12.2问题解决
    IPmsg(飞鸽传书)协议翻译
    关于交叉验证和过拟合
  • 原文地址:https://www.cnblogs.com/qs20199/p/4452275.html
Copyright © 2020-2023  润新知