Zoeken…


Gebruik transformatie en dekking om triggerlay-out te voorkomen

Als u een CSS-kenmerk wijzigt, zal de browser de stijl en lay-out synchroon berekenen, wat een slechte zaak is als u moet animeren met 60 fps.

DO NOT

Animeer met de left en top trigger-indeling.

#box {
  left: 0;
  top: 0;
  transition: left 0.5s, top 0.5s;
  position: absolute;
  width: 50px;
  height: 50px;
  background-color: gray;
}

#box.active {
  left: 100px;
  top: 100px;
}

Demo duurde 11.7ms voor het renderen, 9.8ms voor het schilderen

DONT

DOEN

Animeer met transform met dezelfde animatie.

#box {
  left: 0;
  top: 0;
  position: absolute;
  width: 50px;
  height: 50px;
  background-color: gray;

  transition: transform 0.5s;
  transform: translate3d(0, 0, 0);
}

#box.active {
  transform: translate3d(100px, 100px, 0);
}

Demo dezelfde animatie, duurde 1.3ms voor rendering, 2.0ms voor schilderen.

DOEN



Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow