سازنده سایه Box Shadow

ابزار دقیق مهندسی برای تولید سایه‌های CSS.کنترل کامل روی Blur، Spread و Opacity با پیش‌نمایش آنی.

موقعیت و ابعاد
رنگ و استایل
#000000
Preview Box
کانواس سفید (White Canvas)
CSS OUTPUT
box-shadow: ;

Box Shadow چیست؟ (مبانی علمی)

ویژگی box-shadow در CSS یکی از قدرتمندترین ابزارها برای ایجاد عمق بصری (Visual Hierarchy) در طراحی رابط کاربری است. این ویژگی به طراحان اجازه می‌دهد تا بدون استفاده از تصاویر اضافی، افکت‌های سایه را به فریم (Frame) یک عنصر HTML اضافه کنند. از نظر روانشناسی بصری، سایه‌ها به کاربر می‌گویند کدام المان "بالاتر" از سطح صفحه قرار دارد و تعامل با آن (مانند دکمه‌ها) مهم‌تر است. در معماری‌های مدرن مثل Material Design و Fluent Design، سایه‌ها نقش کلیدی در تفکیک لایه‌ها ایفا می‌کنند.

فرمول و ساختار کد

ساختار استاندارد سایه در CSS شامل ۵ پارامتر اصلی و یک پارامتر اختیاری (Inset) است:

box-shadow: [inset] offset-x offset-y blur-radius spread-radius color;
Offset X/Yمیزان جابجایی سایه در محور افقی و عمودی. مقادیر منفی سایه را به چپ/بالا می‌برند.
Blur Radiusشعاع محو شدگی. هرچه بیشتر باشد، سایه نرم‌تر و بزرگ‌تر به نظر می‌رسد.
Spread Radiusمیزان گسترش سایه قبل از شروع محو شدن.
Colorرنگ سایه. استفاده از فرمت RGBA برای کنترل شفافیت (Alpha) توصیه می‌شود.

مثال‌های کاربردی در طراحی ایرانی

کارت محصول دیجی‌کالا

در فروشگاه‌های بزرگ ایرانی، کارت محصولات معمولاً یک سایه بسیار محو (0 4px 12px rgba(0,0,0,0.08)) دارند که هنگام هاور شدن (Hover) کمی پررنگ‌تر می‌شود تا حس تعامل را القا کند.

پنل کاربری نئومورفیسم

برخی داشبوردهای مدرن مالی از سبک "Soft UI" استفاده می‌کنند که ترکیبی از دو سایه روشن و تیره (یکی مثبت و یکی منفی) است تا دکمه‌ها حالتی "برجسته از دل صفحه" داشته باشند.

مودال (Modal) و پاپ‌آپ

پنجره‌های پاپ‌آپ نیاز به سایه عمیق با Spread زیاد دارند تا کاملاً از محتوای پس‌زمینه جدا شوند و تمرکز کاربر را جلب کنند.

خطاهای رایج (Khataha-ye Rayej)

  • ×

    استفاده از رنگ سیاه خالص (#000) با شفافیت بالا. بهتر است از رنگ‌های سرمه‌ای یا خاکستری تیره با شفافیت کم استفاده کنید تا سایه "چرک" نشود.

  • ×

    فراموش کردن جهت نور. اگر همه سایه‌ها به سمت پایین هستند، نباید ناگهان یک سایه به سمت بالا باشد (مگر اینکه منبع نور خاصی داشته باشید).

  • ×

    اعمال Blur Radius بسیار زیاد روی تعداد زیادی المان. این کار باعث درگیر شدن شدید GPU و کند شدن اسکرول در موبایل‌های قدیمی می‌شود.

  • ×

    عدم استفاده از transition برای تغییر وضعیت سایه در حالت Hover، که باعث پرش ناگهانی بصری می‌شود.

سوالات متداول

تفاوت Inset و حالت عادی چیست؟
سایه عادی (Drop Shadow) خارج از کادر ایجاد می‌شود و حس برجستگی می‌دهد، اما inset سایه را به داخل کادر می‌برد و حس فرو رفتگی یا گودی ایجاد می‌کند (مثل فیلدهای ورودی فرم).
چگونه چند سایه همزمان داشته باشیم؟
با استفاده از کاما (,) می‌توانید چندین لایه سایه تعریف کنید. مثلاً: box-shadow: 0 0 5px red, 0 0 10px blue;
بهترین تنظیمات برای سایه "طبیعی" چیست؟
یک قانون طلایی در طراحی UI مدرن: Offset Y باید نصف Blur باشد و Opacity باید زیر ۲۰٪ باشد. مثال: 0px 4px 10px rgba(0,0,0,0.15).