متغیرهای CSS (که با نام Custom Properties نیز شناخته می‌شوند) یکی از قابلیت‌های قدرتمند در طراحی وب هستند که امکان تعریف و استفاده مجدد از مقادیر را فراهم می‌کنند. اما سوال مهم این است که آیا می‌توان از این متغیرها در shorthand propertyهای پیچیده مانند background استفاده کرد؟

پاسخ کوتاه این است: بله، اما با برخی ملاحظات و محدودیت‌ها. در ادامه به بررسی دقیق‌تر این موضوع می‌پردازیم.

کاربردهای عملی

استفاده از متغیرهای CSS در background shorthand می‌تواند در سناریوهای زیر مفید باشد:

  • ایجاد تم‌های رنگی پویا برای پس‌زمینه‌ها
  • مدیریت مرکزی تصاویر پس‌زمینه در پروژه‌های بزرگ
  • تغییر پویا ویژگی‌های background بر اساس شرایط مختلف (مانند حالت تاریک/روشن)
  • کاهش تکرار کد در فایل‌های CSS

نمونه کدهای مرتبط

در این بخش چند مثال عملی از استفاده متغیرهای CSS در background را بررسی می‌کنیم:

مثال ۱: استفاده ساده از متغیر برای رنگ پس‌زمینه

:root {
  --main-bg-color: #f0f0f0;
  --secondary-bg-color: #333;
}

.element {
  background: var(--main-bg-color) url('pattern.png') no-repeat center;
}

.element-dark {
  background: var(--secondary-bg-color) url('pattern-dark.png') no-repeat center;
}

مثال ۲: ترکیب چند متغیر در یک shorthand

:root {
  --bg-image: url('hero.jpg');
  --bg-position: top right;
  --bg-repeat: no-repeat;
  --bg-size: cover;
}

.hero-section {
  background: var(--bg-image) var(--bg-position)/var(--bg-size) var(--bg-repeat);
}

مثال ۳: استفاده با fallback value

.card {
  background: var(--card-bg, #ffffff) var(--card-bg-image, none) var(--card-bg-repeat, no-repeat);
}

خلاصه درس

  • متغیرهای CSS در تمام مرورگرهای مدرن پشتیبانی می‌شوند، اما برای پروژه‌های قدیمی ممکن است نیاز به fallback داشته باشید.
  • هنگام استفاده از متغیرها در shorthandها، ترتیب قرارگیری مقادیر بسیار مهم است.
  • برای بخش‌هایی از background که نیاز به مقدار ندارند، می‌توانید از مقدار initial یا unset استفاده کنید.
  • متغیرها در shorthandها به صورت پویا محاسبه می‌شوند و می‌توانند با JavaScript تغییر کنند.
  • برای تصاویر پس‌زمینه، مسیر فایل باید درون url() قرار گیرد و نمی‌توان آن را مستقیما در متغیر ذخیره کرد.

در نهایت، استفاده از متغیرهای CSS در background shorthand می‌تواند قدرت و انعطاف‌پذیری زیادی به استایل‌دهی شما اضافه کند، اما نیاز به توجه به جزئیات و تست دقیق در مرورگرهای مختلف دارد.

توسعه دهندگان
نیما جاهد