It was possible to add: terrible rendering 3D in Firefox. In short, here's the picture:
enter image description here
Chrome smoothes and optimizes, even Edge does the same exorbitant task.
But Firefox fiercely decided to spoil the opinion of himself once again, after a story with a bug of positioned elements in flexs , as well as very poor and non-optimized support for Mutation Observer , now I came across a problem regarding 3D rendering.
There is such a boot: codepen .
Or a snippet, in principle:

 .loading { position: relative; height: 98px; width: 68px; box-sizing: border-box; -webkit-transform-style: preserve-3d; transform-style: preserve-3d; -webkit-animation: loadingRotate 3s ease-in-out 3s infinite; animation: loadingRotate 3s ease-in-out 3s infinite; will-change: transform; } .loading div { border: 1px solid #FF0099; position: absolute; box-sizing: border-box; opacity: 0; -webkit-transform: translateY(20px); transform: translateY(20px); } .loading .art1 { width: 20px; height: 40px; top: 0; left: 0; } .loading .art3 { width: 20px; height: 30px; top: 0; left: 24px; } .loading .art2 { width: 20px; height: 20px; top: 0; left: 48px; } .loading .art5 { width: 20px; height: 20px; top: 44px; left: 0; } .loading .art6 { width: 20px; height: 34px; top: 34px; left: 24px; } .loading .art4 { width: 20px; height: 30px; top: 24px; left: 48px; } .loading .art7 { width: 20px; height: 30px; top: 68px; left: 0; } .loading .art8 { width: 20px; height: 26px; top: 72px; left: 24px; } .loading .art9 { width: 20px; height: 40px; top: 58px; left: 48px; } .loading .art1 { -webkit-animation: loadingArts 0.4s ease-in-out 0.25s forwards; animation: loadingArts 0.4s ease-in-out 0.25s forwards; } .loading .art2 { -webkit-animation: loadingArts 0.4s ease-in-out 0.5s forwards; animation: loadingArts 0.4s ease-in-out 0.5s forwards; } .loading .art3 { -webkit-animation: loadingArts 0.4s ease-in-out 0.75s forwards; animation: loadingArts 0.4s ease-in-out 0.75s forwards; } .loading .art4 { -webkit-animation: loadingArts 0.4s ease-in-out 1s forwards; animation: loadingArts 0.4s ease-in-out 1s forwards; } .loading .art5 { -webkit-animation: loadingArts 0.4s ease-in-out 1.25s forwards; animation: loadingArts 0.4s ease-in-out 1.25s forwards; } .loading .art6 { -webkit-animation: loadingArts 0.4s ease-in-out 1.5s forwards; animation: loadingArts 0.4s ease-in-out 1.5s forwards; } .loading .art7 { -webkit-animation: loadingArts 0.4s ease-in-out 1.75s forwards; animation: loadingArts 0.4s ease-in-out 1.75s forwards; } .loading .art8 { -webkit-animation: loadingArts 0.4s ease-in-out 2s forwards; animation: loadingArts 0.4s ease-in-out 2s forwards; } .loading .art9 { -webkit-animation: loadingArts 0.4s ease-in-out 2.25s forwards; animation: loadingArts 0.4s ease-in-out 2.25s forwards; } @-webkit-keyframes loadingArts { to { -webkit-transform: translateY(0px); transform: translateY(0px); opacity: 1; } } @keyframes loadingArts { to { -webkit-transform: translateY(0px); transform: translateY(0px); opacity: 1; } } @-webkit-keyframes loadingRotate { to { -webkit-transform: translateZ(0) rotateY(360deg); transform: translateZ(0) rotateY(360deg); } } @keyframes loadingRotate { to { -webkit-transform: translateZ(0) rotateY(360deg); transform: translateZ(0) rotateY(360deg); } } html { height: 100%; padding: 0; } body { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; height: 100%; margin: 0; -webkit-perspective: 300px; perspective: 300px; } 
 <div class="loading"> <div class="art1"></div> <div class="art2"></div> <div class="art3"></div> <div class="art4"></div> <div class="art5"></div> <div class="art6"></div> <div class="art7"></div> <div class="art8"></div> <div class="art9"></div> </div> 

You can open in different browsers.
And actually, how to be? Are there any miracle properties with the -moz- prefix to smooth everything out or not? Or other properties of the animation, and I obsolete transform: rotateY() ruined everything?

  • In my Firefox, everything seems pretty decent i.imgur.com/mVP2Lht.png i.imgur.com/y4ltsiv.png - andreymal
  • @andreymal, well, fine ... And what then can my problem be? - VostokSisters
  • the problem may be in a particular version - Crantisz
  • @Crantisz 51.0.1 (32 bits). It seems like the last) - VostokSisters

2 answers 2

The problem was solved after adding the outline: 1px solid transparent; properties to the div outline: 1px solid transparent;

    This issue was raised in this issue .

    To solve the problem, use the property:

     img { image-rendering: optimizeQuality; } 
    • Oooh, it may even solve some of my other mini problems with rendering and on IE ... Gotta try. Thank! - VostokSisters
    • Not, unfortunately, this did not solve the problem. Well, as I understand it, this property for pictures? There is no such code in the code. - VostokSisters
    • @VostokSisters and what version of FF? I do not spin at all in FF) - user232857
    • Oh, litter, I did not remove the property there, I tried the hack with scale(0.9999) (it also does not work). Now spinning. Version: 51.0.1 (32 бита) . - VostokSisters
    • @VostokSisters after long experiments solved the problem) The answer is below. - user232857