آموزش سایه‌ها در CSS

css shadows guide
20 آبان 1403

سلام! امروز می‌خواهیم دربارهٔ سایه‌ها در CSS صحبت کنیم. سایه‌ها به عنوان یکی از روش‌های محبوب در طراحی وب استفاده می‌شوند تا به عناصر مختلف در صفحه عمق و بُعد ببخشند و طراحی را زیباتر کنند. سایه‌ها می‌توانند برای متن‌ها، جعبه‌ها و دیگر عناصر استفاده شوند و جلوه‌ای خاص به طراحی ببخشند.

سایه‌ها در CSS به دو دسته‌ی عمده تقسیم می‌شوند: box-shadow برای ایجاد سایه در اطراف باکس‌ها و text-shadow برای اضافه کردن سایه به متن‌ها. استفاده از سایه‌ها بسیار ساده است و با چند کد کوچک می‌توانید جلوه‌های زیبایی به صفحه‌تان اضافه کنید.

در ادامه به روش استفاده از هر کدام و نحوهٔ کارکرد آن‌ها پرداخته می‌شود. همچنین به نکاتی که باید هنگام استفاده از سایه‌ها به آن‌ها توجه کنید نیز اشاره خواهیم کرد؛ از جمله نحوهٔ تنظیم اندازه، میزان تیرگی، پخش شدن و حتی رنگ سایه‌ها که شما را قادر می‌سازد تا طراحی‌های منحصربه‌فردی ایجاد کنید.

استفاده از سایه‌ها می‌تواند به بهبود تجربه کاربری کمک کند؛ به‌خصوص وقتی که قصد دارید توجه کاربران را به بخشی خاص از صفحه جلب کنید، سایه‌ها می‌توانند کارآمد باشند. در عین حال، باید دقت کنید که بیش از اندازه از سایه‌ها استفاده نکنید، چراکه ممکن است تجربه کاربری را خراب کنند و باعث شلوغی در طراحی شوند.

حالا بیایید با چند مثال وارد کد شویم و ببینیم چطور می‌توان از سایه‌ها در CSS استفاده کرد:


<!-- HTML -->
<div class="box">این یک باکس با سایه است</div>
<p class="text">این یک متن با سایه است.</p>

<!-- CSS -->
<style>
  .box {
    width: 200px;
    height: 100px;
    background-color: lightgrey;
    box-shadow: 10px 10px 20px rgba(0,0,0,0.5);
  }

  .text {
    font-size: 20px;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.5);
  }
</style>

<div class="box"> <br> یک باکس ساده به همراه تنظیم کلاسی به نام box است که سایه به آن اضافه می‌شود.
.box { … } <br> در اینجا ویژگی‌های CSS برای باکس تعریف شده است.
box-shadow: 10px 10px 20px rgba(0,0,0,0.5); <br> این خط کد سایه‌ای با ده پیکسل جابجایی افقی و عمودی، و ۲۰ پیکسل گستردگی برای عنصر ایجاد می‌کند.
text-shadow: 2px 2px 4px rgba(0,0,0,0.5); <br> در این خط کد، به یک متن سایه اضافه شده است که قابلیت تنظیم میزان جابجایی افقی و عمودی و همچنین گستردگی را دارد.

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

؟

چگونه می‌تونم سایه‌های مختلف برای یک عنصر ایجاد کنم؟

؟

آیا سایه‌ها روی تمام مرورگرها به درستی نمایش داده می‌شوند؟

؟

چگونه می‌توانم رنگ سایه را تغییر دهم؟