Generátor box-shadow
Navrhuj vrstvené CSS stíny box-shadow s živým náhledem. Nastav posun, rozostření, rozšíření, barvu, krytí a inset, vyzkoušej neumorfismus a zkopíruj kód.
Předvolby
Vrstvy stínu
První vrstva se vykresluje nahoře. Vyber vrstvu a uprav ji.
Jak používat generátor box-shadow
- Začni některou předvolbou, nebo nech výchozí Jemný stín. V řádku Předvolby najdeš Jemný, Ostrý, Vrstvený, Elevace, Neumorfismus, Vnitřní a Záře.
- V části Vrstvy stínu klikni na vrstvu, kterou chceš vybrat. Každou vrstvu lze přesunout tlačítky Posunout nahoru a Posunout dolů nebo smazat tlačítkem Odstranit. Přidat vrstvu zduplikuje vybranou vrstvu, takže můžeš upravovat její kopii.
- Vybranou vrstvu uprav v části Upravit vybranou vrstvu: táhni bod v poli Posun, nebo použij posuvníky a číselná pole Vodorovný posun (px), Svislý posun (px), Rozostření (px) a Rozšíření (px).
- Vyber Barvu stínu pomocí výběru barev, nebo napiš libovolnou barvu CSS do kódového pole, a nastav Krytí (%). Zaškrtnutím Inset (vnitřní stín) se stín vykreslí uvnitř boxu.
- V části Nastavení náhledu (Barva boxu, Barva pozadí, Poloměr rohů (px)) uvidíš stín na svých skutečných barvách. Ovlivňují jen náhled.
- Deklaraci z pole Kód CSS zkopíruješ tlačítkem Kopírovat.
Klávesnice: vyber bod v poli Posun a šipkami ho posouváš o 1 px, se Shiftem o 10 px.
Nástroj funguje ve tvém prohlížeči. Nic, co zadáš, se neodesílá na server.
Jak box-shadow funguje
Syntaxe jednoho stínu je box-shadow: [inset] x y blur spread color.
- x a y posouvají stín doprava a dolů. Záporné hodnoty ho posouvají doleva a nahoru. Světlo shora znamená kladné y.
- Blur (rozostření) změkčuje okraj. Nesmí být záporný. Blur 0 dává ostrou kopii boxu.
- Spread (rozšíření) stín zvětší (kladné hodnoty) nebo zmenší (záporné) ještě před rozostřením. Záporné rozšíření s velkým y drží stín pod prvkem místo kolem něj.
- Barva obvykle nese průhlednost. Nástroj zapisuje neprůhledné barvy jako HEX a průsvitné jako
rgba(), čemuž rozumí každý prohlížeč. Pokud zadáš barvu, která už alfa kanál obsahuje, Krytí (%) ho vynásobí. - inset umístí stín dovnitř okraje, jako by byl box zatlačený do stránky.
Stín sleduje border-radius prvku a nikdy nemění rozložení: nezabírá místo a nevyvolává posuvníky.
Proč vrstvit několik stínů?
Skutečné stíny nejsou jeden rozmazaný obdélník. Malý, tmavý a těsný stín leží přímo pod předmětem, zatímco velký, slabý a rozmazaný se šíří dál. Naskládání dvou až pěti vrstev to napodobuje a vypadá mnohem přirozeněji než jeden těžký stín. Předvolba Vrstvený s nízkým krytím v každém kroku zdvojnásobuje posun i rozostření, což je technika oblíbená v mnoha designových systémech. Elevace napodobuje třívrstvé stíny z Material Designu.
První vrstva v seznamu se vykresluje nad ostatními, přesně jako v hodnotě CSS. Na pořadí záleží hlavně tehdy, když kombinuješ vnitřní a vnější stíny nebo používáš výrazné barvy.
Neumorfismus
Neumorfismus („soft UI“) používá dva stíny na prvku, který má stejnou barvu jako jeho pozadí: tmavý posunutý dolů a doprava a světlý posunutý nahoru a doleva. Předvolba Neumorfismus nastavuje obě barvy na #e0e5ec. Pamatuj, že tento styl má nízký kontrast, takže tlačítka v něm vytvořená potřebují jasný stav zaměření a čitelné popisky.
Časté dotazy
Ovlivňuje box-shadow výkon?
Statické stíny jsou levné. Animace velkých rozmazaných stínů může být na slabších zařízeních pomalá; plynulejší je animovat opacity pseudoelementu, který stín nese.
Proč je můj stín uříznutý?
Stín ořízne rodič s overflow: hidden. Přidej rodiči odsazení, nebo pravidlo overflow odstraň.
Jaký je rozdíl mezi box-shadow a filter: drop-shadow()?
box-shadow sleduje box prvku a jeho poloměr. drop-shadow() sleduje viditelný tvar včetně průhledných částí obrázků PNG a SVG, ale nemá rozšíření ani inset.
Mohu použít několik vnitřních stínů?
Ano. Každá vrstva může být inset a vnitřní a vnější vrstvy lze v jedné deklaraci míchat.
Potřebuji předponu -webkit-?
Ne. Vlastnost box-shadow bez předpony funguje ve všech prohlížečích už více než deset let.
Související nástroje
- Generátor border-radius Tvaruj CSS border-radius vizuálně tažením bodů. Nastav každý roh v px nebo %, použij eliptickou syntaxi s 8 hodnotami, vytvoř blob a zkopíruj kód.
- Generátor CSS gradientů Vytvoř lineární, radiální a kuželové CSS gradienty s živým náhledem. Přidávej a přetahuj barevné zarážky, nastav úhel a zkopíruj čistý kód CSS.
- Výběr barev Bezplatný online výběr barev. Vyber libovolnou barvu a hned zkopíruj její kódy HEX, RGB, HSL, HSV a CMYK včetně kontrastu na bílé a černé.