Jako ideální postup se v současnosti jeví nakódovat banner v HTML a CSS, konkrétně tak, že:
<div> nebo <img>.
transition je každému nastavena doba, jak dlouho se mají přeměňovat vlastnosti.
Při takovémto postupu starší prohlížeče neznající vlastnost transition přepínají stavy neanimovaně, což je dobrý kompromis.
Pár ukázek:
animationCSS vlastnost animation dělá animace sama bez toho, aby JS musel něco měnit. Její nevýhodou je, že když ji prohlížeč nezná, uživatel kouká na statický první snímek.
Další nevýhoda souvisí s vendor prefixy. Zatímco s transition stačí zopakovat jeden řádek (-webkit-transition), při animation se musí zkopírovat i celá mohutná větev @keyframes, což pak i komplikuje dodatečné změny.
Prefix -webkit dodnes potřebují některé používané tablety. Zatímco při vynechání prefixované verze u postupu s transition hrozí jen to, že přechody mezi stavy budou skokové (což není tragédie), u animation hrozí zobrazení jen statického prvního snímku…
Ukázka:
Ani na komplikovanější činnosti není nutné načítat stovky kilobajtů skriptů. Můžete se inspirovat ukázkami naší výroby:
background a kdy <img>Obrázek na pozadí jde pohodlně měnit přes CSS při změně třídy a může se opakovat.
Obrázek přes <img> nemusí mít nastavené rozměry (pokud jej nechcete zdeformovat) a oddaluje globální událost onload. Chcete-li změnu tříd nastartovat až po zaručeném načtení všeho, použijte <img>.
Pokud použijete <img>, nezapomeňte vynulovat border.