Den will-change
egendom i CSS optimerar animeringar genom att låta webbläsaren vet vilka egenskaper och inslag är på väg att manipuleras och därigenom öka prestandan hos den speciella operation.
Den här egenskapen har fyra värden:
auto
: standard webbläsaroptimeringar kommer att tillämpas.scroll-position
: indikerar att elementets rullningsposition kommer att animeras någon gång inom en snar framtid så att webbläsaren förbereder sig för innehåll som inte syns i ett elements rullningsfönster.contents
: innehållet i ett element förväntas förändras så att webbläsaren inte cachar innehållet i detta element.: vilken användardefinierad egendom som
transform
elleropacity
som vi villwill-change
ska tillämpas på.
Vi kan informera webbläsaren om att en förändring håller på att äga rum på transform
fastigheten så:
.element ( will-change: transform; )
Eller om vi vill deklarera flera värden kan vi använda en kommaseparerad lista som:
.element ( will-change: transform, opacity; )
Det är dock viktigt att inte överanvända will-change
fastigheten eftersom den faktiskt kan leda till att sidan blir mindre prestanda (notera att det inte finns något all
värde för den här egenskapen av goda skäl). Som ett resultat rekommenderar MDN att egenskapen används som en sista utväg för befintliga prestandaproblem snarare än sådana som du förväntar dig skulle kunna hända. Och när du använder det rekommenderas det att du växlar will-change
strax innan ett element eller en egendom ändras och sedan stänger av det igen strax efter att processen är klar.
Webbläsarstöd
Denna webbläsares supportdata kommer från Caniuse, som har mer detaljer. Ett nummer indikerar att webbläsaren stöder funktionen i den versionen och uppåt.
Skrivbord
Krom | Firefox | IE | Kant | Safari |
---|---|---|---|---|
36 | 36 | Nej | 79 | 9.1 |
Mobil / surfplatta
Android Chrome | Android Firefox | Android | iOS Safari |
---|---|---|---|
88 | 85 | 81 | 9.3 |