Animované ikony složek a dokumentů jsou jednoduchým způsobem, jak oživit běžné odkazy na webu. Místo klasického textového odkazu může návštěvník vidět čistou SVG ikonu, která se při najetí myší plynule vyplní barvou a současně změní doprovodný text na akční výzvu.
Toto řešení je vhodné pro odkazy na dokumenty, provozní řády, faktury, certifikáty, archiv, úložiště nebo interní sekce webu. Funguje bez externích pluginů, je lehké, rychlé a dobře použitelné i v Elementor PRO. Díky samostatným CSS třídám lze na jedné stránce použít více sad ikon, aniž by se jejich styly navzájem ovlivňovaly.
U všech důležitých funkcí jsou popisky mezi lomítky, které při aplikaci kódu prosím vymažte.
Další úpravy a nastavení již nechám na Vaší fantazii.
HTML část tvoří samotnou kostru celého prvku. V ní se určuje, kolik ikon bude na stránce zobrazeno, jaký bude jejich popisek, jaký text se zobrazí při najetí myší a na jakou adresu bude každý odkaz směřovat.
Každý řádek je vytvořený jako klasický HTML odkaz pomocí značky <a>. Díky tomu se celý prvek chová jako běžný klikací odkaz, ale místo obyčejného textu obsahuje ještě SVG ikonu a dva textové popisky.
Zjednodušeně má jeden prvek tuto logiku:
<a href="https://www.example.cz" target="_blank" rel="noopener noreferrer">
ikona
výchozí text
text při hoveru
</a>href určuje cílovou adresu odkazu. Právě sem se doplňuje konkrétní URL adresa stránky, dokumentu nebo souboru, na který má odkaz vést.href="https://www.example.cz/provozni-rad"target="_blank" zajistí, že se odkaz otevře v nové záložce prohlížeče. To je užitečné hlavně v případě, kdy nechceme návštěvníka úplně odvést z aktuální stránky.target="_blank"rel="noopener noreferrer" je bezpečnostní doplněk pro odkazy otevírané v nové záložce. Doporučuje se jej používat společně s target="_blank".rel="noopener noreferrer"Samotná ikona není vložená jako obrázek, ale jako inline SVG přímo v HTML kódu. To má několik výhod. Ikona je ostrá v jakékoli velikosti, lze ji snadno obarvit pomocí CSS a není nutné načítat žádný další soubor.
Třída icon-svg slouží k tomu, aby bylo možné ikonu stylovat v CSS. Atribut viewBox určuje vnitřní kreslicí prostor ikony. Díky němu se SVG správně škáluje při změně velikosti.
Atribut aria-hidden="true" říká čtečkám obrazovky, že samotná ikona je pouze dekorativní. Důležitý význam odkazu je v textu vedle ikony.
Uvnitř SVG je připravena také maska, která umožňuje animaci vyplnění zleva doprava.
Tato část sama o sobě ještě animaci nespouští. Pouze připravuje oblast, přes kterou se bude výplň ikony postupně odkrývat. Samotný pohyb masky se následně nastavuje v CSS.
Důležité je, aby každá ikona měla vlastní unikátní id, například:
id="iconFillClip-1"
id="iconFillClip-2"
id="iconFillClip-3"
Pokud by více ikon používalo stejné id, mohly by se efekty navzájem ovlivňovat.
Vedle ikony jsou v HTML dva texty. První je výchozí text, který návštěvník vidí běžně. Druhý text je skrytý a zobrazí se až při najetí myší.
Provozní řád
Přečíst
Díky tomu lze z obyčejného popisku vytvořit drobnou výzvu k akci.
Například:
Archiv
Vstupte
nebo:
Faktura
Uložit
Tato změna textu je opět řízena až pomocí CSS. HTML pouze obsahuje oba texty připravené na správném místě.
Každá sada ikon by měla mít vlastní názvy tříd. Pokud je na jedné stránce více podobných bloků a všechny používají stejné třídy, může se stát, že se CSS pravidla začnou navzájem přepisovat.
Proto je vhodné používat například samostatné prefixy:
docset-archive-link
docset-office-link
docset-main-link
Tím se jednotlivé sady od sebe oddělí a každá může mít vlastní barvy, velikosti i animace bez toho, aby ovlivnila ostatní prvky na stránce.
Díky správně pojmenovaným třídám lze na jedné stránce použít více různých sad ikon, aniž by se jejich styly navzájem přepisovaly.
CSS část určuje, jak budou odkazy vizuálně vypadat a jak se budou chovat při najetí myší. Zatímco HTML tvoří strukturu odkazu, CSS řeší barvy, velikost ikon, rozestupy, písmo a samotnou animaci.
Pomocí CSS se nastavuje například to, že ikona a text jsou vedle sebe, jednotlivé odkazy jsou pod sebou a mezi nimi je pravidelná mezera. Zároveň se zde určuje velikost SVG ikony, například:
width: 48px;
Právě tento řádek obvykle mění velikost celé ikony, zatímco výška se dopočítá automaticky podle poměru SVG.
Důležitou částí CSS je práce s barvou ikony. Pro každou ikonu lze nastavit vlastní barvu pomocí proměnné:
--docset-office-color: #E91E63;
Tato barva se následně použije pro obrys i pro vnitřní výplň ikony. Díky tomu není nutné měnit barvu na více místech.
Samotný hover efekt vzniká tak, že výplň ikony je na začátku skrytá:
transform: scaleX(0);
a při najetí myší se roztáhne na celou šířku:
transform: scaleX(1);
Proto ikona působí, jako by se plynule vyplňovala zleva doprava.
CSS také řídí změnu textu. Výchozí text je běžně viditelný, zatímco hover text je skrytý. Při najetí myší se první text skryje a druhý se zobrazí. Díky tomu může například text „Provozní řád“ přejít na „Přečíst“.
Rychlost celé animace se nastavuje pomocí vlastnosti transition, například:
transition: transform 0.6s ease;
Čím vyšší hodnota v sekundách, tím pomalejší a klidnější animace bude.
/* Seznam složek pod sebou */
/* Tento hlavní obal řídí, že jednotlivé odkazy se složkami budou řazené svisle pod sebou. */
.folder-list {
display: flex; /* Aktivuje flexbox pro uspořádání prvků. */
flex-direction: column; /* Nastaví směr řazení prvků pod sebe. */
gap: 14px; /* Určuje mezeru mezi jednotlivými řádky složek. */
}
/* Celý řádek jedné složky */
/* Toto je klikací odkaz, který obsahuje ikonu složky i text vedle ní. */
.folder-link {
--folder-color: #8a8a8a; /* Výchozí barva složky. Jednotlivé složky ji níže přepisují vlastní barvou. */
display: inline-flex; /* Ikona a text se zobrazí vedle sebe v jednom řádku. */
align-items: center; /* Svisle zarovná ikonu a text na střed. */
gap: 12px; /* Nastaví mezeru mezi ikonou složky a textem. */
width: fit-content; /* Šířka odkazu se přizpůsobí pouze obsahu, nebude přes celou stránku. */
text-decoration: none; /* Odstraní klasické podtržení odkazu. */
color: #333333; /* Nastaví barvu textu odkazu. */
font-size: 18px; /* Nastaví velikost textu. */
font-weight: 500; /* Nastaví střední sílu písma. */
cursor: pointer; /* Po najetí myší se zobrazí kurzor ruky. */
}
/* Obal samotné ikony */
/* Tento prvek drží velikost SVG ikony složky. */
.folder-icon {
display: inline-flex; /* Pomáhá správnému zarovnání SVG ikony. */
width: 48px; /* Určuje šířku ikony složky. Zde lze měnit velikost celé ikony. */
height: auto; /* Výška se dopočítá automaticky podle poměru SVG. */
flex-shrink: 0; /* Zabrání tomu, aby se ikona při nedostatku místa zmenšovala. */
}
/* SVG ikona složky */
/* Nastavení samotného SVG obrázku uvnitř obalu. */
.folder-svg {
display: block; /* Odstraní drobnou spodní mezeru, kterou SVG někdy vytváří. */
width: 100%; /* SVG vyplní celou šířku svého obalu. */
height: auto; /* Zachová správný poměr stran ikony. */
overflow: visible; /* Zabrání nechtěnému oříznutí silnějšího obrysu. */
}
/* Obrys složky */
/* Tato část kreslí pouze vnější linku složky. */
.folder-outline {
fill: none; /* Obrys nemá žádnou vnitřní výplň. */
stroke: var(--folder-color); /* Barva obrysu se bere z proměnné konkrétní složky. */
stroke-width: 5; /* Nastaví sílu obrysové linky. */
stroke-linejoin: round; /* Zaoblí spoje jednotlivých částí obrysu. */
stroke-linecap: round; /* Zaoblí konce linek. */
}
/* Výplň složky */
/* Tato vrstva je vnitřní barva složky, která se zobrazí až při hover efektu. */
.folder-fill {
fill: var(--folder-color); /* Výplň má stejnou barvu jako obrys složky. */
opacity: 1; /* Výplň je plně sytá, bez průhlednosti. */
}
/* Maska výplně před hover efektem */
/* Maska určuje, že výplň je na začátku skrytá a při hoveru se postupně odkrývá zleva doprava. */
.folder-fill-mask {
transform: scaleX(0); /* Na začátku je šířka výplně nulová, tedy výplň není vidět. */
transform-origin: left center; /* Animace začíná z levé strany ikony. */
transition: transform 0.45s ease; /* Nastaví rychlost a plynulost animace výplně. */
}
/* Efekt výplně při najetí myší */
/* Po najetí myší se maska roztáhne a tím odkryje barevnou výplň složky. */
.folder-link:hover .folder-fill-mask {
transform: scaleX(1); /* Výplň se roztáhne na celou šířku ikony. */
}
/* Textový obal */
/* Obal pro dva texty: výchozí text a text, který se zobrazí při hoveru. */
.folder-text {
position: relative; /* Umožní umístit hover text přes výchozí text. */
display: inline-block; /* Textový blok si zachová vlastní rozměry. */
min-width: 120px; /* Rezerva šířky, aby se text při změně nepřeskakoval. */
color: #333333; /* Barva textu vedle složky. */
}
/* Výchozí text Dokumenty 1 až Dokumenty 5 */
/* Tento text je viditelný před najetím myší. */
.text-default {
display: inline-block; /* Umožní animaci posunu textu. */
opacity: 1; /* Text je plně viditelný. */
visibility: visible; /* Text je viditelný a aktivní. */
transform: translateY(0); /* Výchozí poloha textu bez posunu. */
transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s ease; /* Plynulé skrytí a posun textu. */
}
/* Text Otevřít */
/* Tento text je na začátku skrytý a zobrazí se až při najetí myší. */
.text-hover {
position: absolute; /* Umístí hover text přes původní text. */
left: 0; /* Zarovná hover text vlevo. */
top: 0; /* Zarovná hover text nahoru. */
opacity: 0; /* Text je na začátku neviditelný. */
visibility: hidden; /* Text je na začátku skrytý. */
transform: translateY(6px); /* Hover text je mírně posunutý dolů. */
transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s ease; /* Plynulé zobrazení a posun textu. */
}
/* Při hoveru se výchozí text skryje */
/* Původní text například „Dokumenty 1“ zmizí a lehce se posune nahoru. */
.folder-link:hover .text-default {
opacity: 0; /* Výchozí text zmizí. */
visibility: hidden; /* Výchozí text se skryje. */
transform: translateY(-6px); /* Výchozí text se posune mírně nahoru. */
}
/* Při hoveru se zobrazí text Otevřít */
/* Skrytý hover text se zobrazí a najede do své pozice. */
.folder-link:hover .text-hover {
opacity: 1; /* Hover text se zobrazí. */
visibility: visible; /* Hover text bude viditelný. */
transform: translateY(0); /* Hover text se vrátí do základní polohy. */
}
/* Složka 1 — šedá */
/* Nastavení individuální barvy první složky. */
.folder-1 {
--folder-color: #8a8a8a;
}
/* Složka 2 — pastelová bordó */
/* Nastavení individuální barvy druhé složky. */
.folder-2 {
--folder-color: #b86b7a;
}
/* Složka 3 — pastelová petrolejová */
/* Nastavení individuální barvy třetí složky. */
.folder-3 {
--folder-color: #4f8f91;
}
/* Složka 4 — tlumená tmavě modrá */
/* Nastavení individuální barvy čtvrté složky. */
.folder-4 {
--folder-color: #526f9f;
}
/* Složka 5 — pastelová okrová */
/* Nastavení individuální barvy páté složky. */
.folder-5 {
--folder-color: #c79a45;
}
Tady máme příklad upravených paramatrů, barva, rychlost… a jiné ikony.
/* Hlavní obal všech ikon pod sebou */
.icon-list {
display: flex; /* Aktivuje flexbox */
flex-direction: column; /* Řádky budou pod sebou */
gap: 14px; /* Mezera mezi jednotlivými řádky */
}
/* Celý klikací řádek jedné ikony */
.icon-link {
--icon-color: #00A651; /* Výchozí barva ikony, jednotlivé řádky ji níže přepíšou */
display: inline-flex; /* Ikona a text budou vedle sebe */
align-items: center; /* Svislé zarovnání ikony a textu na střed */
gap: 12px; /* Mezera mezi ikonou a textem */
width: fit-content; /* Šířka řádku bude jen podle obsahu */
text-decoration: none; /* Zruší podtržení odkazu */
color: #666666; /* Výchozí barva textu */
font-size: 18px; /* Velikost textu */
font-weight: 500; /* Tloušťka písma */
cursor: pointer; /* Při najetí se zobrazí kurzor ruky */
transition: color 0.6s ease; /* Plynulá změna barvy textu při hoveru */
}
/* Barva textu při najetí myší na celý řádek */
.icon-link:hover {
color: #333333; /* Tmavší barva textu při hoveru */
}
/* Obal samotné SVG ikony */
.icon-symbol {
display: inline-flex; /* Pomáhá správnému zarovnání SVG */
width: 48px; /* TADY měníš velikost všech ikon */
height: auto; /* Výška se dopočítá automaticky podle poměru SVG */
flex-shrink: 0; /* Ikona se nebude zmenšovat při nedostatku místa */
}
/* Samotné SVG */
.icon-svg {
display: block; /* Odstraní drobnou spodní mezeru pod SVG */
width: 100%; /* SVG vyplní šířku obalu .icon-symbol */
height: auto; /* Zachová přirozený poměr stran */
overflow: visible; /* Zabrání nechtěnému oříznutí silnějších linek */
}
/* Hlavní obrys ikony */
.icon-outline {
fill: none; /* Obrys nemá pevnou výplň */
stroke: var(--icon-color); /* Barva obrysu podle konkrétní ikony */
stroke-width: 5; /* Síla linky obrysu */
stroke-linejoin: round; /* Zaoblené spoje čar */
stroke-linecap: round; /* Zaoblené konce čar */
}
/* Vnitřní linky ikony, například linky v knize nebo oblouk zámku */
.icon-detail {
fill: none; /* Bez výplně */
stroke: var(--icon-color); /* Stejná barva jako hlavní ikona */
stroke-width: 5; /* Síla vnitřních linek */
stroke-linejoin: round; /* Zaoblené spoje linek */
stroke-linecap: round; /* Zaoblené konce linek */
}
/* Kruhový detail, například kulatá část klíčové dírky */
.icon-detail-circle {
fill: var(--icon-color); /* Barva kruhu podle konkrétní ikony */
stroke: none; /* Bez obrysu */
}
/* Vnitřní výplň ikony, která se odkryje při hoveru */
.icon-fill {
fill: var(--icon-color); /* Výplň má stejnou barvu jako obrys */
opacity: 1; /* Plná čistá barva bez průhlednosti */
}
/* Maska, která na začátku skryje výplň ikony */
.icon-fill-mask {
transform: scaleX(0); /* Výplň je na začátku skrytá */
transform-origin: left center; /* Výplň se bude roztahovat zleva doprava */
transition: transform 0.6s ease; /* Rychlost a plynulost vyplnění ikony */
}
/* Při najetí myší se výplň ikony postupně zobrazí */
.icon-link:hover .icon-fill-mask {
transform: scaleX(1); /* Výplň se roztáhne na celou šířku ikony */
}
/* Textový obal vedle ikony */
.icon-text {
position: relative; /* Umožní překrytí výchozího a hover textu */
display: inline-block; /* Text se chová jako samostatný blok */
min-width: 130px; /* Rezerva pro delší hover text */
color: inherit; /* Přebírá barvu z .icon-link */
}
/* Výchozí text, například Směr, Pravidla, Zabezpečeno */
.text-default {
display: inline-block; /* Umožní plynulý posun textu */
opacity: 1; /* Text je běžně viditelný */
visibility: visible; /* Text je aktivně viditelný */
transform: translateY(0); /* Výchozí poloha textu */
transition: opacity 0.6s ease, transform 0.6s ease, visibility 0.6s ease;
}
/* Text, který se zobrazí po najetí, například Pokračovat, Číst, Odemknout */
.text-hover {
position: absolute; /* Umístí hover text přes původní text */
left: 0; /* Zarovnání zleva */
top: 0; /* Zarovnání shora */
opacity: 0; /* Na začátku je skrytý */
visibility: hidden; /* Na začátku není viditelný */
transform: translateY(6px); /* Je mírně posunutý dolů */
transition: opacity 0.6s ease, transform 0.6s ease, visibility 0.6s ease;
}
/* Při hoveru se původní text skryje a lehce posune nahoru */
.icon-link:hover .text-default {
opacity: 0; /* Původní text zmizí */
visibility: hidden; /* Původní text se skryje */
transform: translateY(-6px); /* Původní text odjede lehce nahoru */
}
/* Při hoveru se nový text zobrazí */
.icon-link:hover .text-hover {
opacity: 1; /* Hover text se zobrazí */
visibility: visible; /* Hover text je viditelný */
transform: translateY(0); /* Hover text najede do správné pozice */
}
/* Ikona 1 — čistá zelená */
.icon-arrow {
--icon-color: #00A651; /* Barva šipky */
}
/* Ikona 2 — čistá modrá */
.icon-book {
--icon-color: #007BFF; /* Barva knihy */
}
/* Ikona 3 — čistá červená */
.icon-lock {
--icon-color: #E53935; /* Barva zámku */
}
/* Hlavní obal sady Archiv / Dopis / Uložiště */
.docset-archive-list {
display: flex; /* Aktivuje řazení prvků */
flex-direction: column; /* Ikony budou pod sebou */
gap: 14px; /* Mezera mezi řádky */
}
/* Jeden klikací řádek */
.docset-archive-link {
--docset-archive-color: #7B2CBF; /* Výchozí barva, každá ikona ji níže přepíše */
display: inline-flex; /* Ikona a text vedle sebe */
align-items: center; /* Svislé zarovnání na střed */
gap: 12px; /* Mezera mezi ikonou a textem */
width: fit-content; /* Šířka pouze podle obsahu */
text-decoration: none; /* Bez podtržení odkazu */
color: #666666; /* Výchozí barva textu */
font-size: 18px; /* Velikost textu */
font-weight: 500; /* Síla písma */
cursor: pointer; /* Kurzor ruky */
transition: color 0.6s ease; /* Plynulá změna barvy textu */
}
/* Barva textu při hoveru */
.docset-archive-link:hover {
color: #333333; /* Tmavší text při najetí */
}
/* Obal SVG ikony */
.docset-archive-symbol {
display: inline-flex; /* Správné zarovnání SVG */
width: 48px; /* Velikost ikony */
height: auto; /* Automatická výška */
flex-shrink: 0; /* Ikona se nezmenší */
}
/* Samotné SVG */
.docset-archive-svg {
display: block; /* Odstraní spodní mezeru */
width: 100%; /* SVG vyplní obal */
height: auto; /* Zachová poměr stran */
overflow: visible; /* Neořízne silnější linky */
}
/* Obrys ikony */
.docset-archive-outline {
fill: none; /* Bez výplně */
stroke: var(--docset-archive-color); /* Barva obrysu */
stroke-width: 5; /* Síla obrysu */
stroke-linejoin: round; /* Zaoblené spoje */
stroke-linecap: round; /* Zaoblené konce */
}
/* Vnitřní detaily ikony */
.docset-archive-detail {
fill: none; /* Bez výplně */
stroke: var(--docset-archive-color); /* Stejná barva jako ikona */
stroke-width: 5; /* Síla detailů */
stroke-linejoin: round; /* Zaoblené spoje */
stroke-linecap: round; /* Zaoblené konce */
}
/* Výplň ikony */
.docset-archive-fill {
fill: var(--docset-archive-color); /* Stejná barva jako obrys */
opacity: 1; /* Plná barva */
}
/* Maska výplně */
.docset-archive-fill-mask {
transform: scaleX(0); /* Výplň je skrytá */
transform-origin: left center; /* Výplň začíná zleva */
transition: transform 0.6s ease; /* Rychlost vyplnění */
}
/* Hover efekt výplně */
.docset-archive-link:hover .docset-archive-fill-mask {
transform: scaleX(1); /* Výplň se roztáhne */
}
/* Textový obal */
.docset-archive-text {
position: relative; /* Umožní překrytí textů */
display: inline-block; /* Blokové chování textu */
min-width: 130px; /* Rezerva pro delší hover text */
color: inherit; /* Přebírá barvu odkazu */
}
/* Výchozí text */
.docset-archive-text-default {
display: inline-block; /* Umožní animaci */
opacity: 1; /* Viditelný stav */
visibility: visible; /* Viditelnost */
transform: translateY(0); /* Výchozí pozice */
transition: opacity 0.6s ease, transform 0.6s ease, visibility 0.6s ease;
}
/* Hover text */
.docset-archive-text-hover {
position: absolute; /* Překryje původní text */
left: 0; /* Zarovnání vlevo */
top: 0; /* Zarovnání nahoru */
opacity: 0; /* Skrytý stav */
visibility: hidden; /* Skrytý text */
transform: translateY(6px); /* Posun dolů */
transition: opacity 0.6s ease, transform 0.6s ease, visibility 0.6s ease;
}
/* Skrytí výchozího textu při hoveru */
.docset-archive-link:hover .docset-archive-text-default {
opacity: 0; /* Text zmizí */
visibility: hidden; /* Text se skryje */
transform: translateY(-6px); /* Posun nahoru */
}
/* Zobrazení hover textu */
.docset-archive-link:hover .docset-archive-text-hover {
opacity: 1; /* Text se zobrazí */
visibility: visible; /* Text bude viditelný */
transform: translateY(0); /* Vrátí se do pozice */
}
/* Fialová archivní krabice */
.docset-archive-box {
--docset-archive-color: #7B2CBF;
}
/* Žlutá obálka */
.docset-archive-envelope {
--docset-archive-color: #F5C400;
}
/* Tmavě modrý cloud */
.docset-archive-cloud {
--docset-archive-color: #003B73;
}
/* Hlavní obal sady Certifikát / Faktura / Provozní řád */
.docset-office-list {
display: flex; /* Aktivuje řazení prvků */
flex-direction: column; /* Ikony budou pod sebou */
gap: 14px; /* Mezera mezi řádky */
}
/* Jeden klikací řádek */
.docset-office-link {
--docset-office-color: #E91E63; /* Výchozí barva, každá ikona ji níže přepíše */
display: inline-flex; /* Ikona a text vedle sebe */
align-items: center; /* Svislé zarovnání na střed */
gap: 12px; /* Mezera mezi ikonou a textem */
width: fit-content; /* Šířka pouze podle obsahu */
text-decoration: none; /* Bez podtržení odkazu */
color: #666666; /* Výchozí barva textu */
font-size: 18px; /* Velikost textu */
font-weight: 500; /* Síla písma */
cursor: pointer; /* Kurzor ruky */
transition: color 0.6s ease; /* Plynulá změna barvy textu */
}
/* Barva textu při hoveru */
.docset-office-link:hover {
color: #333333; /* Tmavší text při najetí */
}
/* Obal SVG ikony */
.docset-office-symbol {
display: inline-flex; /* Správné zarovnání SVG */
width: 48px; /* Velikost ikony */
height: auto; /* Automatická výška */
flex-shrink: 0; /* Ikona se nezmenší */
}
/* Samotné SVG */
.docset-office-svg {
display: block; /* Odstraní spodní mezeru */
width: 100%; /* SVG vyplní obal */
height: auto; /* Zachová poměr stran */
overflow: visible; /* Neořízne silnější linky */
}
/* Obrys ikony */
.docset-office-outline {
fill: none; /* Bez výplně */
stroke: var(--docset-office-color); /* Barva obrysu */
stroke-width: 5; /* Síla obrysu */
stroke-linejoin: round; /* Zaoblené spoje */
stroke-linecap: round; /* Zaoblené konce */
}
/* Vnitřní detaily ikony */
.docset-office-detail {
fill: none; /* Bez výplně */
stroke: var(--docset-office-color); /* Stejná barva jako ikona */
stroke-width: 5; /* Síla detailů */
stroke-linejoin: round; /* Zaoblené spoje */
stroke-linecap: round; /* Zaoblené konce */
}
/* Kruh / pečeť certifikátu */
.docset-office-circle-outline {
fill: none; /* Pouze obrys kruhu */
stroke: var(--docset-office-color); /* Barva obrysu kruhu */
stroke-width: 5; /* Síla kruhu */
}
/* Výplň ikony */
.docset-office-fill {
fill: var(--docset-office-color); /* Stejná barva jako obrys */
opacity: 1; /* Plná barva */
}
/* Maska výplně */
.docset-office-fill-mask {
transform: scaleX(0); /* Výplň je skrytá */
transform-origin: left center; /* Výplň začíná zleva */
transition: transform 0.6s ease; /* Rychlost vyplnění */
}
/* Hover efekt výplně */
.docset-office-link:hover .docset-office-fill-mask {
transform: scaleX(1); /* Výplň se roztáhne */
}
/* Textový obal */
.docset-office-text {
position: relative; /* Umožní překrytí textů */
display: inline-block; /* Blokové chování textu */
min-width: 140px; /* Rezerva pro text Provozní řád */
color: inherit; /* Přebírá barvu odkazu */
}
/* Výchozí text */
.docset-office-text-default {
display: inline-block; /* Umožní animaci */
opacity: 1; /* Viditelný stav */
visibility: visible; /* Viditelnost */
transform: translateY(0); /* Výchozí pozice */
transition: opacity 0.6s ease, transform 0.6s ease, visibility 0.6s ease;
}
/* Hover text */
.docset-office-text-hover {
position: absolute; /* Překryje původní text */
left: 0; /* Zarovnání vlevo */
top: 0; /* Zarovnání nahoru */
opacity: 0; /* Skrytý stav */
visibility: hidden; /* Skrytý text */
transform: translateY(6px); /* Posun dolů */
transition: opacity 0.6s ease, transform 0.6s ease, visibility 0.6s ease;
}
/* Skrytí výchozího textu při hoveru */
.docset-office-link:hover .docset-office-text-default {
opacity: 0; /* Text zmizí */
visibility: hidden; /* Text se skryje */
transform: translateY(-6px); /* Posun nahoru */
}
/* Zobrazení hover textu */
.docset-office-link:hover .docset-office-text-hover {
opacity: 1; /* Text se zobrazí */
visibility: visible; /* Text bude viditelný */
transform: translateY(0); /* Vrátí se do pozice */
}
/* Růžová ikona certifikátu */
.docset-office-certificate {
--docset-office-color: #E91E63;
}
/* Oranžová ikona faktury */
.docset-office-invoice {
--docset-office-color: #FF8C00;
}
/* Tyrkysová ikona provozního řádu */
.docset-office-rules {
--docset-office-color: #00AFAF;
}
Každý z těchto příkladů vytvoří jiný vizuální efekt, který můžete použít podle toho, co nejlépe vyhovuje vašim designovým požadavkům.
Ujistěte se vždy, pokud především chcete používat různá nastavení pro více nadpisů na jedné stránce, že máte správně přiřazený ID vašeho kontejneru. Jako například #muj-text" a že jste kód správně vložili do sekce vlastních CSS stylů v Elementoru.