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:
animation
CSS 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
.