Moderní tvorba webových aplikací

O webu

CSS ikony

Ikony bez obrázků v čistém CSS.

4 minuty

Chceme-li stránkou obohatit a zpřehlednit ikonami, existují různé možnosti:

  • Použít běžný obrázek (ideálně jako CSS sprite).

  • Použít tzv. font icons (ikony z písma). To funguje tak, že se na stránku připojí speciální font, který místo běžných znaků obsahuje grafické symboly ikon.

  • Nakreslit ikonu přímo v CSS.

Obecné techniky kreslení v CSS už jsem popisoval. Při tvorbě CSS ikon je jen stačí vhodně kombinovat.

U složitějších podob ikon, kde je potřeba více elementů, si lze vypomoci přes :before/:after. A ušetřit tím pár značek, které by jinak musely být v kódu.

Z jednoho elementu tedy můžeme udělat tři, případně přidat další element a získat tak šest částí, což už stačí i na složité výtvory. Ne jen primitivní šipku.

Výhody a nevýhody

Výhody ikonek v CSS jsou:

  1. šetření HTTP požadavků (stačí přidat do CSS definici ikon, nic dalšího se nemusí stahovat),
  2. snadná změna barev a rozměrů bez ztráty kvality (pokud s tím ikonky počítají).

Jako nevýhody lze považovat:

  1. Komplikovanější upravování a rozšiřování. Je jednodušší překreslit obrázek, než laborovat s CSS v :before a :after elementech a obávat se limitu daným počtem elementů pro ikony stanovených.

  2. Slabší podpora některých pro kreslení podstatných CSS vlastností (například kulaté rohy). Plnohodnotnou podobu je reálné očekávat až od IE 9.

  3. Další věc je datová velikost. Při komplikovanějších podobách využívajících lehce nestandardní CSS vlastnosti, může být CSS kód ikony zaneřáděn duplicitními deklaracemi lišící se jen prefixy. A ve výsledku tak být objemnější než běžný obrázek.

  4. Nakonec bude u CSS ikon mnohem slabší výběr hotových setů ikon rovnou k použití.

Hotové ikony

Odkazy na zajímavější kolekce CSS ikon.

UIPlayGround CSS 3 Icons

Web

UIPlayGround CSS 3 Icons

Odkazy jinam

SVG ikony

Font ikony

Související články

Převod písmen na VELKÁ a malá

Převedení textu na velká nebo malá písmena.

12 minut

Možnosti stylování <iframe>

Co lze a nelze u <iframe> ovlivnit pomocí CSS a jak na změnu textu nebo barev.

10 minut

Zvýraznění aktivní sekce při rolování

Moderní způsoby zvýraznění aktivní položky navigace podle aktuální sekce – CSS i IntersectionObserver.

5 minut

CSS funkce random()

Jak v CSS generovat náhodné hodnoty pomocí random() a kdy ji použít.

6 minut

Web jecas.cz píše Bohumil Jahoda, kontakt
Seznam všech článků
2013–2025