Košík je prázdný

V dnešní době je vizuální stránka webu klíčová pro udržení pozornosti návštěvníka. Jedním z efektivních způsobů, jak obrázky na webu oživit, je použití efektu překrytí (overlay). CSS (Cascading Style Sheets) nabízí několik metod, jak tento efekt elegantně implementovat. V tomto článku prozkoumáme, jak můžete s pomocí CSS vytvořit efekt překrytí na obrázku, což může být užitečné pro zvýraznění textu na obrázku nebo pro přidání vizuálního efektu při najetí myši (hover).

Základní principy

Efekt překrytí se vytváří pomocí vrstvení prvků, kde vrstva s efektem překrytí se nachází nad obrázkem. Tento efekt může být statický nebo dynamický (např. aktivovaný při najetí myši). Použití CSS k dosažení tohoto efektu zahrnuje několik klíčových konceptů, jako jsou pozicionování, průhlednost (opacity), a pseudo-třídy.

Příklad efektu překrytí pomocí CSS

Začneme jednoduchým příkladem, kde vytvoříme statický efekt překrytí na obrázku:

<div class="image-container">
  <img src="/obrazek.jpg" alt="Popisek obrázku">
  <div class="overlay">Text překrytí</div>
</div>
.image-container {
  position: relative;
  width: fit-content;
}

.image-container img {
  display: block;
  width: 100%;
  height: auto;
}

.overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5); /* Černá barva s 50% průhledností */
  color: white;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

V tomto příkladu div s třídou .overlay slouží jako vrstva překrytí, která je absolutně pozicionována vůči rodičovskému elementu s relativním pozicionováním. Díky tomu pokrývá celý obrázek. Barva a průhlednost překrytí se nastavuje pomocí vlastnosti background-color s použitím rgba, kde poslední hodnota určuje průhlednost.

Pokročilý efekt překrytí aktivovaný při najetí myši

Pro zvýšení interaktivnosti můžeme přidat efekt překrytí, který se aktivuje při najetí myši, použitím pseudo-třídy :hover.

.overlay {
  ...
  opacity: 0;
  transition: opacity 0.5s ease;
}

.image-container:hover .overlay {
  opacity: 1;
}

Přidáním těchto pravidel zajistíme, že překrytí bude původně neviditelné a stane se viditelným (s postupným přechodem) pouze při najetí myši na obrázek.

 

Efekt překrytí (overlay) je užitečným nástrojem pro zvýšení vizuálního apelu obrázků na webu. S použitím CSS můžeme tento efekt implementovat různými způsoby, od jednoduchých statických překrytí po dynamické efekty aktivované interakcí uživatele. Experimentováním s různými vlastnostmi CSS, jako jsou position, opacity, a pseudo-třídy, můžete vytvořit zajímavé a interaktivní vizuální efekty pro váš web.