Why transitions for some CSS properties are slow and none fluent

前端 未结 2 1546
猫巷女王i
猫巷女王i 2020-12-15 22:12

I spent a bout 4 hours on having a simple transition with an acceptable performance:

First I tried this code :

left: 2000px;
-webkit-transition: left         


        
相关标签:
2条回答
  • 2020-12-15 22:51

    As the result my 4 hours experiments it is better to use transform like below:

            -webkit-transform: translate(2000px, 0);
            -webkit-transition: -webkit-transform 1s linear;
            -moz-transform: translate(2000px, 0);
            -moz-transition: -moz-transform 1s linear;
            -ms-transform: translate(2000px, 0);
            -ms-transition: -ms-transform 1s linear;
    

    This was great on IE10, Chrome v21.0.1180.89 and FireFox v15.0.1.

    Note: IE9 does not support tarnsforms

    0 讨论(0)
  • 2020-12-15 22:55

    Don't use left or top, bottom, margin or padding properties to move elements, but only "transform: translate".

    In the same way, to resize elements use only "transform: scale" instead of height or width.

    Left, top, bottom, margin, padding, height, width properties (and many others) force the browser to recalculate all the layout, so geometry of many elements, with a lot of CPU work.

    Each property has a different weight, in this article it's clearly explained high performance animations

    Edit1: triggers.com seems to be a good page if you don't remember each property weight

    0 讨论(0)
提交回复
热议问题