为什么打开注释后执行动画, 元素本身的旋转会失效?

为什么打开注释后执行动画, 元素本身的旋转会失效?

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>Document</title>

    <style>

        div{

            font-familyArial;

            font-size36px;

            positionfixed;

            right0;

            left0;

            width30px;

            height30px;

            marginauto;

            bottom20px;

            /* animation: jiantou 1.5s ease-out 0s infinite; */

            transformrotate(90deg);

        }


        @keyframes jiantou {

            0% {

                transformtranslate(00);

            }


            40% {

                transformtranslate(015px);

            }


            80%{

                transformtranslate(05px);

            }


            100% {

                transformtranslate(015px);

            }

        }

    </style>

</head>

<body>

    <div>&gt;</div>

</body>

</html>


正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学你好,问题解答如下:

打开注释后,元素的transform属性就会受@keyframes中的transform属性控制(transform属性发生了覆盖),由于动画中的transform只设置了translate,而没有设置rotate,所以元素之前设置的旋转就会失效。

可做如下修改:

http://img1.sycdn.imooc.com//climg/5fcf3ebb09ffe2df08180496.jpg

祝学习愉快!

  • tangdou123 提问者 #1

    就是不管本身transform的数据是否写在调用animation之前还是之后,  animation肯定是最后一次覆盖执行, 那么本身css属性上的 transform就不用写了, 删掉, 写在定义动画的@keyframes里面.  同时元素旋转后, 要注意垂直移动也会变为水平移动, 后面的translate里面的Y轴的值要写到X轴上.


    2020-12-09 11:32:20
好帮手慕久久 2020-12-09 11:47:56

同学你好,理解正确。祝学习愉快!

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师