will-change
Nehnuteľnosť v CSS optimalizuje animácie tým, že nechá know prehliadače, ktoré vlastnosti a prvky sú práve chystá byť manipulované, prípadne zvýšením výkonu danej činnosti.
Táto vlastnosť má štyri hodnoty:
auto
: budú použité štandardné optimalizácie prehľadávača.scroll-position
: označuje, že pozícia na posúvanie prvku bude animovaná niekedy v blízkej budúcnosti, takže sa prehliadač pripraví na obsah, ktorý nie je viditeľný v posúvacom okne prvku.contents
: očakáva sa, že sa obsah prvku zmení, takže prehliadač nebude ukladať obsah tohto prvku do medzipamäte.: akákoľvek používateľom definovaná vlastnosť, ako napríklad
transform
alebo naopacity
ktorú chcemewill-change
byť aplikovaní.
Prehliadač môžeme informovať, že v zariadení sa chystá zmena, transform
napríklad takto:
.element ( will-change: transform; )
Alebo ak chceme deklarovať viac hodnôt, môžeme použiť zoznam oddelený čiarkami, ako napríklad:
.element ( will-change: transform, opacity; )
Je dôležité, aby ste vlastnosť nadmerne nepoužívali, will-change
pretože by to mohlo v skutočnosti spôsobiť, že stránka bude menej výkonná (všimnite si, že all
pre toto vlastníctvo neexistuje hodnota z dobrého dôvodu). Výsledkom je, že spoločnosť MDN odporúča, aby bola nehnuteľnosť použitá ako posledná možnosť pre existujúce problémy s výkonom, a nie pre tie, ktoré predpokladáte. A pri jeho použití sa odporúča prepnúť will-change
tesne pred zmenou prvku alebo vlastnosti a potom ho znova krátko po dokončení procesu znova vypnúť.
Podpora prehliadača
Údaje o podpore tohto prehľadávača sú od spoločnosti Caniuse, ktorá obsahuje viac podrobností. Číslo označuje, že prehliadač podporuje túto funkciu v danej verzii alebo vyššej.
Desktop
Chrome | Firefox | IE | Hrana | Safari |
---|---|---|---|---|
36 | 36 | Nie | 79 | 9.1 |
Mobil / tablet
Android Chrome | Android Firefox | Android | iOS Safari |
---|---|---|---|
88 | 85 | 81 | 9.3 |