CSS will-change
Najbolje ime, zar ne?
Pa, CSS se menja i promeniće se, nadamo se dodavanjem još opcija sa cool imenima.
Postoji reč will-change
koja je tu da promeni tranziciji u tranzicija-transformacija vezu. Mogu li samo da pitam: hoće li se to promeniti? (Ok ja sam gotov!)
Potpuno je u redu ako do sada niste čuli za will-change
, razumećete sve što postoji u tekstu koji sledi.
O will-change
Prava svrha will-change
je da upozori pretraživač da će se izabrani element promeniti u budućim procesima, tako da pregledač može unapred da podesi odgovarajuću optimizaciju.
Moguće vrednosti:
- auto - standardne optimizacije pregledača;
- scroll-position - položaj pomicanja elementa će biti animiran nekad u bliskoj budućnosti;
- contents - očekuje se promena sadržaja elementa, tako da pregledač neće keširati sadržaj ovog elementa;
- [custom-ident] - određivanje imena ili imena jednog ili više svojstava koja očekujete da će se promeniti (npr. transformisati, podesiti neprozirnost itd.);
Moguće je prijaviti više vrednosti pomoću liste odvojene zarezima.
.sidebar{
will-change:transform, opacity;
}
Neka svojstva neće imati efekta kada su navedena u will-change
, jer pregledač ne vrši posebne optimizacije za promene u većini svojstava. Ipak je sigurno navesti ih; to jednostavno neće imati efekta.
Ovo svojstvo nije podržano u IE, Edge i Opera Mini, imajte to na umu.
Koristiti
Umereno koristite Dodavanje will-change direktno u tabelu stilova podrazumeva da ciljani elementi uvek budu udaljeni nekoliko trenutaka od promene i pretraživač će zadržati optimizacije mnogo duže nego što bi to bio slučaj inače. Dakle, dobra je praksa uključivanje i isključivanje will-change pomoću koda skripte pre i posle promene.
Dajte mu vremena Važno je dati pregledaču malo vremena da stvarno izvrši optimizaciju. Nađite neki način da bar malo unapred predvidete da će se nešto promeniti, a zatim postavite da će se promeniti.
Uklonite sve will-change nakon što se promene izvrše Uobičajeno ponašanje pregledača za optimizacije koje vrši je uklanjanje tih optimizacija i vraćanje na normalno ponašanje što je pre moguće.
Imajte na umu da će will-change zapravo uticati na vizuelni izgled elemenata, kada se koristi sa vrednostima svojstava, što stvara kontekst slaganja (npr. will-change: opacity), jer se kontekst slaganja kreira unapred.
Ne Koristiti
Ne primenjujte will-change na previše elemenata Preglednik se već trudi koliko god može da optimizuje sve.
Ne primenjujte will-change
na elemente da biste izvršili prevremenu optimizaciju. will-change
je namenjena korišćenju kao krajnjem utočištu, kako bi se pokušalo rešiti postojeće probleme sa performansama. Prekomerna upotreba will-change rezultiraće prekomernom upotrebom memorije i prouzrokovaće složenije prikazivanje dok se pretraživač pokušava pripremiti za moguću promenu. To će dovesti do loših performansi.
Kraj
Čitajte O, čitajte Koristiti, čitajte Ne Koristiti, i to je sve. Nemam više ništa za dodati.
Za nedeljne novosti, pretplatite se na naš bilten.