Přeskočit na obsah

Stíny

Stíny jsou efektivní způsob, jak zlepšit použitelnost a vizuální přitažlivost rozhraní. Mohou být použity k zvýraznění prvků, vytvoření pocitu hloubky a prostoru a zlepšení čitelnosti. Měly by být používány s rozmyslem, aby byly efektivní a nerušivé. Je důležité používat konzistentní styl stínů v celém rozhraní.

Vyvýšení

Vyvýšení v UI je vizuální efekt, který se používá k vytvoření dojmu hloubky a prostoru v rozhraní. Může být použito k zvýraznění důležitých prvků, vytvoření pocitu hloubky a prostoru a zlepšení čitelnosti.

Hierarchie

Vyvýšení elementu nad podkladem je určena čtyřmi úrovněmi. Toto plně postačuje pro vytvoření prostorové hieararchie.

Hierarchie stínů Hierarchie stínů Příklady použití vyvýšení Příklady použití vyvýšení
TypePopisProměnná
DefaultZákladní stín pro běžné prvky jako tlačítka, widgety, panely a karty--elevation
SubtleMírný stín pro stisklé tlačítko--elevation-subtle
StrongVýrazný stín pro popup, dropdown, toast a jiné prvky vystupující nad obsah--elevation-strong
ExtremeNejsilnější stín výhradně pro dialog--elevation-extreme
.foo {
box-shadow: var(--elevation);
}
.bar {
box-shadow: var(--elevation-extreme);
}

Interakce

Má-li vyvýšený element s elevation být aktivním prvekm grafického rozhraní, při kliku zmírní stín pomocí elevation-subtle.

Interakce vyvýšení Interakce vyvýšení
.foo {
box-shadow: var(--elevation);
&:active {
box-shadow: var(--elevation-subtle);
}
}

Záře

Záře Záře
TypePopisProměnná
DefaultVýchozí záře--glow-[color]
StrongSilná záře--glow-[color]-strong
UpZáře svítící vzůru--glow-[color]-up
.foo {
box-shadow: var(--glow-brand-primary);
}
.bar {
box-shadow: var(--glow-status-success-strong);
}

Reliéf

Pro znázornění vtlačení komponenty do povrchu využíváme vnitřího stínu. Typické využití pro reliéfy jsou textová políčka.

Reliéf Reliéf
.foo {
box-shadow: var(--embossment);
}

Vlastní stín

Pro aplikování stínu napříč tématy využijte následující mixin.

.themifyShadow(@settings, @color)
@settings: inset|initial|inherit | h-offset v-offset blur spread
@color: Barva
.foo {
.themifyShadow(inset 0 var(--stripe-width) 0; var(--red-20) var(--red-50));
}
// nebo
.bar {
.themify(--bar-shadow; var(--red-20) var(--red-50));
box-shadow: inset 0 var(--stripe-width) 0 var(--bar-shadow);
}