Preskoči na sadržaj
Webslab signalprovjereno

Vremenski dijagram kao nacrt za SMIL animacije u SVG-u

Johan Grobler je 20. avgusta na Smashing Magazineu opisao postupak u kojem se složena SMIL animacija prvo nacrta kao vremenski dijagram, pa tek onda piše u oznakama. Svaka traka na dijagramu odgovara jednom elementu animate, a njena dužina i položaj postaju vrijednosti atributa dur i begin. Pošto jedan animate mijenja tačno jedno svojstvo jednog elementa, broj elemenata brzo naraste, pa učitavač od tri tačke koje se smjenjuju traži šest takvih zapisa. Tekst pokazuje i sinhronizaciju preko tuđeg početka i kraja, kroz atribut begin, te način da se poštuje postavka prefers-reduced-motion kroz element picture.

Potpisuje Redakcija WebAiRadarObjavljeno 2 min čitanjanapisao model

Izvor

Timing Charts: A Blueprint For SMIL Animations

Smashing Magazine · Original objavljen 20. avgust 2026

Johan Grobler je 20. avgusta na Smashing Magazineu opisao radnu naviku, a ne novu tehnologiju. Prije nego što se napiše ijedan element animate, animacija se nacrta kao vremenski dijagram, s trakom po svakom pokretu. Kad dijagram stoji, pisanje oznaka postaje prepisivanje, a ne pogađanje.

Zašto dijagram ide prije koda

SMIL animacija u SVG-u nema jedno mjesto na kojem se vidi cjelina. Svaki element animate nosi sopstvene atribute dur i begin, pa se raspored u glavi sklapa iz razbacanih brojeva. Vremenski dijagram taj raspored vraća na jednu sliku: vodoravna osa je vrijeme, svaka traka je jedan pokret, a njena dužina i početak su tačno ono što ide u dur i begin.

Jedan element, jedno svojstvo

Ograničenje koje tekst stalno naglašava jeste da jedan element animate mijenja tačno jedno svojstvo jednog elementa. Zbog toga broj zapisa raste brže nego što se očekuje. Učitavač od tri tačke koje se smjenjuju, u kojem svaka tačka postepeno izranja pa nestaje, traži šest takvih elemenata. Za vraćanje svojstva u početno stanje koristi se element set.

  • Atribut attributeName imenuje svojstvo koje se mijenja.
  • Atributi from i to određuju raspon vrijednosti.
  • Atribut dur nosi trajanje, a fill određuje šta ostaje poslije završetka.
  • Atribut href veže animaciju za element koji nije njen roditelj.

Sinhronizacija bez ručnog računanja

Umjesto da svakoj animaciji ručno računaš pomak od nule, početak se veže za tuđi početak ili kraj. Zapis begin="colorChange.end - 300ms" znači da pokret kreće tri desetinke sekunde prije nego što se imenovana animacija završi. Pozitivan pomak pokret pomjera kasnije, negativan ranije. Kad se u dijagramu pomjeri jedna traka, ostale je prate same, pa se prepravka svodi na jedan broj.

Maskiranje i poštovanje korisnikove postavke

Tekst pokazuje i kako se pravougaonik u elementu clipPath animira da bi se dobio utisak kretanja koje sam oblik ne pravi, uz razdvajanje svojstava opacity i fill-opacity radi finijeg blijeđenja. Za korisnike koji su u sistemu tražili manje kretanja predlaže se element picture, kojim se pod uslovom prefers-reduced-motion isporučuje mirna slika umjesto animiranog SVG-a.

Povezano

Prefiksni selektor, crtica pa zvjezdica, između dvije uvećane vitičaste zagrade.
Websrednji signal

Selektor prefiksa klase sada je tekst specifikacije u nacrtu Selectors 5

Nacrt od 18. avgusta dodaje odjeljak 2.1, selektori prefiksa klase, i definiše .foo-* tako da pogađa svaku klasu koja počinje tim prefiksom. Zamjenjuje zaobilaznice s atributskim selektorom koje nosi svaki dizajn sistem. Nijedan pregledač to još ne podržava, a pravilo poklapanja ima ivicu na kojoj će se ljudi saplitati: .foo-* ne pogađa foo--bar.

CSS Working Groupprovjereno

Natpis Baseline uz znak s dvije kvačice, na blijedozelenoj podlozi.
Websrednji signal

Kako uvesti Baseline u CI, pa da pregledač prestane da odlučuje umjesto tebe

Trebaju ti tri paketa i dvadesetak minuta. Jedno podešavanje kaže gradnji koje pregledače gađaš, linter upozori kad stilski list pređe tu liniju, a CI to kaže na zahtjevu za spajanje umjesto da ti korisnik kaže u prijavi greške šest sedmica kasnije.

web.dev, npmprovjereno

FIREFOX154sibling-index() i text-box-trim
Websrednji signal

Firefox 154 donosi sibling-index(), sibling-count() i text-box-trim

Izdanje od 18. avgusta uvodi tri novine u CSS-u koje možeš odmah da koristiš. Funkcije sibling-index() i sibling-count() daju redni broj elementa među susjedima i njihov ukupan broj, i to neposredno u CSS-u, bez ijedne linije JavaScripta, čime prestaje potreba za ručnim upisivanjem promjenljivih poput --i radi stepenastih kašnjenja u animacijama. Uz njih stižu text-box-edge, text-box-trim i skraćeni zapis text-box, kojima se uklanja višak prostora iznad i ispod teksta, pa naslovi konačno sjedaju u mrežu onako kako izgledaju u dizajnu. Na strani JavaScripta dodate su metode includes(), join(), chunks() i windows() na prototipu iteratora.

MDNprovjereno