Mi ez az eszköz?
A box-shadow az a CSS tulajdonság, amely árnyékot rajzol egy elem mögé (vagy belsejébe). Kézzel írva legfeljebb öt értéket vesz fel sorrendben — vízszintes eltolás, függőleges eltolás, elmosódási sugár, terjedési sugár és egy szín —, plusz egy opcionális inset kulcsszót, amit könnyű összekeverni, vagy első próbálkozásra túl finomra vagy túl erősre venni.
Ez az eszköz közvetlen manipulációvá alakítja ezt: húzz egy csúszkát, figyeld, ahogy az árnyék változik az élő előnézeti dobozon, és másold ki a pontos CSS-t, amikor jól néz ki. A színválasztó plusz egy átlátszatlanság-csúszka automatikusan megfelelő rgba() értéket generál, mivel az átlátszó árnyékok általában jobban néznek ki, mint a teljesen átlátszatlanok.
Miért érdemes használni?
- Az élő előnézet azonnal frissül bármely vezérlő módosításakor — lásd a pontos árnyékot, mielőtt véglegesítenéd a kódot.
- Teljes kontroll az offset-x, offset-y, elmosódás, terjedés, szín és átlátszatlanság felett egy helyen.
- Egy kattintással hozzáadhatod az insetet a benyomott/süllyesztett hatáshoz a lebegő vetett árnyék helyett.
- Beillesztésre kész CSS-t ad ki, a színt már a választott átlátszatlansággal rgba()-ra konvertálva.
- Teljes egészében a böngésződben fut — semmi, amit beállítasz, nem kerül feltöltésre sehova.
- Ingyenes, regisztráció nélkül, mobilon is működik.
Használati útmutató
- Állítsd be az offset-x-et és offset-y-t az árnyék pozicionálásához — a pozitív értékek jobbra/lefelé, a negatívak balra/felfelé tolják.
- Növeld az elmosódási sugarat az árnyék szélének lágyításához; növeld a terjedést, hogy az árnyék nagyobb legyen magánál az elemnél.
- Válassz egy színt, és állítsd az átlátszatlanságot — a legtöbb valósághű árnyék 15–40%-os átlátszatlanságot használ tömör fekete helyett.
- Jelöld be az "inset" opciót, ha azt szeretnéd, hogy az árnyék az elem keretén belül jelenjen meg, ne mögötte.
- Másold ki a generált CSS-t, és illeszd be a stíluslapodba.
Példa
Bemenet
Eltolás: 0px, 10px · Elmosódás: 20px · Terjedés: 0px · Szín: fekete, 35%-os átlátszatlanságKimenet
box-shadow: 0px 10px 20px 0px rgba(0, 0, 0, 0.35);Egy lágy árnyék közvetlenül az elem alatt, vízszintes eltolás nélkül — az egyik leggyakoribb kártya-/gombárnyék-stílus.
Egyetlen árnyék vs. rétegzett árnyékok
Ez az eszköz egyetlen árnyékréteget épít, ami a valós felhasználási esetek túlnyomó többségét lefedi — gombok, kártyák, modálok és lenyíló menük szinte mindig egyetlen árnyékot használnak. A CSS támogatja a vesszővel elválasztott, több árnyékot ugyanazon az elemen, kifinomultabb mélységhatásokhoz (pl. egy szoros, sötét árnyék egy lágy, széles alá rétegezve), de ez egy finomítás, amit kézzel adhatsz hozzá: generálj itt egy árnyékot, majd duplikáld a sort, állítsd be a második értékkészletet, és kösd össze vesszővel.
Gyakori box-shadow minták
- Finom kártyaemelés: kis eltolás (0–4px), közepes elmosódás (8–16px), 10–20%-os átlátszatlan fekete.
- Kiemelt modál/lenyíló: nagyobb eltolás (4–10px) és elmosódás (20–30px), 20–35%-os átlátszatlanság erősebb lebegésérzethez.
- Benyomott/inset gomb: jelöld be az insetet, használj enyhén negatívnak ható eltolást és közepes elmosódást, hogy az árnyék benyomódásként hasson, ne emelkedésként.
- Színes fény: válassz márkaszínt fekete helyett, emeld az átlátszatlanságot 40–60%-ra, és növeld kicsit a terjedést lágy fényhatáshoz gombok körül.
- Éles/kemény árnyék: állítsd az elmosódást 0-ra és a terjedést 0-ra egy tömör, eltolt sziluetthez lágy árnyék helyett.
Párosítás lekerekített sarkokkal
Az árnyékokat és a lekerekített sarkokat folyamatosan együtt használják — a kártyák, gombok és modálok szinte mindig kombinálják mindkettőt. Használd a Border Radius Generátort ugyanazon elem sarkainak lekerekítéséhez, majd alkalmazd mindkét generált CSS-deklarációt együtt.
Gyakori kérdések
Mi a különbség az elmosódás és a terjedés között?
Az elmosódási sugár lágyítja az árnyék szélét — a magasabb értékek fokozatosabban halványítják el. A terjedési sugár az elmosódás előtt változtatja meg az árnyék méretét — a pozitív terjedés minden oldalon nagyobbá teszi az árnyékot az elemnél, a negatív terjedés összezsugorítja. A legtöbb hétköznapi árnyék elmosódást használ, 0-n hagyott terjedéssel.
Miért használjunk rgba()-t sima hex szín helyett az árnyékhoz?
A teljesen átlátszatlan árnyék keménynek és valószerűtlennek néz ki — a valódi árnyékok mindig valamennyire átlátszóak, engedve, hogy a mögöttük lévő dolgok kissé átlátsszanak. Az rgba() lehetővé teszi ennek az átlátszóságnak a közvetlen beállítását, ezért ez az eszköz mindig alfaértékkel adja ki a színt, sima hex helyett.
Mit csinál az inset kulcsszó?
Inset nélkül az árnyék az elem keretén kívülre rajzolódik, mintha az elem lebegne az oldal felett. Insettel az árnyék a keret belsejébe rajzolódik, benyomottnak vagy süllyesztettnek mutatva az elemet — gyakran használják aktív/benyomott gombállapotokhoz vagy beviteli mezőkhöz.
Rétegezhetek egynél több árnyékot ugyanazon az elemen?
Igen — a CSS box-shadow vesszővel elválasztott listát fogad el, és a böngészők a megadott sorrendben jelenítik meg őket (az első árnyék van felül). Egy gyakori technika egy szoros, sötétebb árnyékot rétegez egy szélesebb, lágyabbal a valósághűbb mélységhez, mint amit bármelyik önmagában adna.
A box-shadow hat az elrendezésre, vagy csak a megjelenésre?
Csak a megjelenésre — a box-shadow soha nem hat az elem méretére vagy a környező elemek pozíciójára, még nagy elmosódási vagy terjedési értékek mellett sem. Ha az árnyék vizuálisan levágódik, ellenőrizd egy szülőelem overflow: hidden beállítását, ne magukat az árnyékértékeket.