Ondřej Šteigl - Logo ONDŘEJ ŠTEIGL
CSS

Jak udělat hezká tlačítka a karty

Stíny, zaoblené rohy, odsazení a hover – jak z obyčejných prvků poskládat tlačítka a karty, které vypadají profesionálně.

Čtení 7 min začátečník Naposledy upraveno 10. 10. 2026

Předtím: Barvy, písmo a rozvržení v CSS

Barvy, písmo i rozvržení už máte za sebou. Teď z obyčejných prvků uděláme dvě věci, které najdete skoro na každém webu: pěkné tlačítko a kartu (rámeček se stínem, do kterého se dává obsah). Obojí poskládáme z vlastností, které už znáte – jen je dáme dohromady tak, aby to vypadalo profesionálně.

Tlačítko: z obyčejného odkazu za chvíli

Tlačítko je většinou úplně obyčejný odkaz, kterému dáme třídu a pár vlastností. Začneme takhle:

<a href="#" class="btn">Odeslat</a>
.btn {
  display: inline-block;      /* aby fungovalo odsazení */
  background: #0f766e;        /* barva pozadí */
  color: #fff;                /* barva textu */
  padding: 12px 24px;         /* vnitřní odsazení = velikost */
  border-radius: 8px;         /* zaoblené rohy */
  text-decoration: none;      /* pryč s podtržením odkazu */
  font-weight: 600;
}

Nejdůležitější je display: inline-block – bez něj by u odkazu nefungovalo svislé odsazení. padding určuje, jak je tlačítko velké, border-radius zaoblí rohy a text-decoration: none schová podtržení. Výsledek:

náhled

Hover: ať tlačítko reaguje na myš

Hezké tlačítko se po najetí myší trochu změní. Přidáme :hover (co se stane při najetí) a transition (aby ta změna byla plynulá, ne skoková):

.btn {
  transition: background 0.2s;  /* plynulá změna za 0,2 s */
}
.btn:hover {
  background: #0b5d56;          /* tmavší odstín při najetí */
}
💡 Tip: transition patří na základní stav (.btn), ne do :hover. Pak je přechod plynulý tam i zpět, když myš odjede.

Karta: rámeček se stínem

Karta je jen box s odsazením, zaoblením a jemným stínem – skvělá na službu, článek nebo referenci. Obsah dáte dovnitř:

<div class="card">
  <h3>Nadpis karty</h3>
  <p>Krátký popisek uvnitř karty.</p>
</div>
.card {
  background: #fff;
  border-radius: 14px;
  padding: 24px;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.08);
}

Kouzlo dělá box-shadow. Čísla znamenají: posun doprava, posun dolů, rozmazání a barvu stínu. To rgba(0,0,0,0.08) je černá s průhledností 8 % – proto je stín jemný a ne tvrdý. Výsledek:

náhled

Nadpis karty

Krátký popisek uvnitř karty – třeba služba nebo článek.

Karty vedle sebe

Víc karet dáte do řady jedním řádkem – obalíte je do boxu s display: flex a mezerou gap. Díky flex-wrap: wrap se na mobilu samy zalomí pod sebe:

.karty {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
}
náhled

Web

Jednoduchá prezentace.

E-shop

Prodej online.

Aplikace

Na míru.

Je to přesně ten flexbox z návodu o rozvržení – jen použitý na karty. Víc o přizpůsobení mobilu najdete v návodu Web, který funguje na mobilu.

Časté chyby

A to je celé. Tlačítko i kartu teď složíte z pár řádků a mícháním těch samých vlastností (odsazení, zaoblení, stín, hover) vytvoříte prakticky jakýkoli UI prvek. 👍

Všechny návody

Nechcete web řešit sami a chcete ho mít hotový a profesionální?

Podívejte se na tvorbu webů →

© Ondřej Šteigl. Autorem návodů jsem já. Obsah je autorským dílem chráněným podle zákona č. 121/2000 Sb. (autorský zákon). Kopírování, přebírání nebo šíření bez mého předchozího písemného souhlasu je zakázáno. Výukové použití je vítáno – stačí uvést zdroj (osteigl.cz).

← Zpět na všechny návody

Nezmeškejte nový návod

Když vyjde nový návod, pošleme vám krátký e-mail. Žádný spam, odhlásit se jde jedním klikem.

QR platba – dobrovolný příspěvek

☕ Byl návod užitečný?

Můžete mě podpořit dobrovolným příspěvkem – nepovinně, třeba stovkou na provoz a na kafe. Načtěte QR v bankovní aplikaci, nebo pošlete na účet 6048546800/6363. Díky!