will-change
Nemovitost v CSS optimalizuje animace tím, že nechá know prohlížeče, které vlastnosti a prvky jsou právě chystá být manipulováno, případně zvýšením výkonu dané činnosti.
Tato vlastnost má čtyři hodnoty:
auto
: budou použity standardní optimalizace prohlížeče.scroll-position
: označuje, že poloha posouvání prvku bude animována někdy v blízké budoucnosti, takže se prohlížeč připraví na obsah, který není viditelný v posuvném okně prvku.contents
: očekává se, že se obsah prvku změní, takže prohlížeč nebude ukládat obsah tohoto prvku do mezipaměti.: jakákoli uživatelem definovaná vlastnost, jako
transform
nebo naopacity
kterou chcemewill-change
být použity.
Můžeme informovat prohlížeč, že se chystá změna transform
vlastnosti, například:
.element ( will-change: transform; )
Nebo pokud chceme deklarovat více hodnot, můžeme použít seznam oddělených čárkami, například:
.element ( will-change: transform, opacity; )
Je důležité nepoužívat tuto will-change
vlastnost, protože by to mohlo ve skutečnosti způsobit, že stránka bude méně výkonná (všimněte si, že all
pro tuto vlastnost neexistuje hodnota z dobrého důvodu). Výsledkem je, že MDN doporučuje, aby byla vlastnost použita jako poslední možnost pro existující problémy s výkonem, a nikoli pro ty, u kterých předpokládáte, že by se mohly stát. A při jeho použití se doporučuje přepnout will-change
těsně před změnou prvku nebo vlastnosti a poté jej krátce po dokončení procesu znovu vypnout.
Podpora prohlížeče
Tato data podpory prohlížeče pocházejí z Caniuse, který obsahuje více podrobností. Číslo označuje, že prohlížeč podporuje tuto funkci v dané verzi a vyšší.
plocha počítače
Chrome | Firefox | TJ | Okraj | Safari |
---|---|---|---|---|
36 | 36 | Ne | 79 | 9.1 |
Mobilní / Tablet
Android Chrome | Android Firefox | Android | iOS Safari |
---|---|---|---|
88 | 85 | 81 | 9.3 |