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

来源:2-18 编程练习

tangdou123

2020-12-08 16:31:19

<!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回答

好帮手慕久久

2020-12-08

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

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

可做如下修改:

http://img.mukewang.com/climg/5fcf3ebb09ffe2df08180496.jpg

祝学习愉快!

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


h020-12-09
共1条回复

好帮手慕久久

2020-12-09

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

0

0 学习 · 15276 问题

查看课程