آموزش رایگان CSS

آشنایی با Inheritance در CSS: اصول وراثت و مدیریت استایل‌ها

12م آبان 1403 محراب حسن زاده
آشنایی با Inheritance در CSS: اصول وراثت و مدیریت استایل‌ها

وراثت (Inheritance) یکی از مفاهیم مهم در CSS است که به شما امکان می‌دهد استایل‌های خاصی را از یک عنصر به فرزندان آن منتقل کنید. با درک صحیح از وراثت در CSS، می‌توانید کدهای مرتب‌تر و خواناتری ایجاد کرده و در عین حال، حجم کدهای CSS را کاهش دهید. این مقاله به شما کمک می‌کند تا با مفهوم وراثت، نحوه عملکرد آن و نحوه کنترل وراثت در CSS آشنا شوید.

 

مفهوم Inheritance در CSS

در CSS، برخی از ویژگی‌ها به طور خودکار از والد به فرزندان ارث می‌برند. این ویژگی‌ها معمولاً مربوط به ظاهر عمومی صفحه، مانند رنگ متن، اندازه فونت و برخی ویژگی‌های دیگر هستند. وراثت به این معناست که استایلی که برای یک عنصر والد تعریف می‌شود، به فرزندان آن نیز منتقل می‌شود، مگر اینکه به صورت خاص برای فرزند عنصر تعریف دیگری شده باشد.

 

ویژگی‌های قابل وراثت و غیرقابل وراثت در CSS

در CSS، برخی از ویژگی‌ها به صورت پیش‌فرض به فرزندان ارث می‌رسند، اما برخی دیگر از ویژگی‌ها فقط در صورت تعریف صریح، به فرزندان اعمال می‌شوند.

 

ویژگی‌های قابل وراثت (Inherited Properties)

این ویژگی‌ها به طور پیش‌فرض از عنصر والد به فرزندان منتقل می‌شوند. برخی از ویژگی‌های وراثتی عبارت‌اند از:

  • color: رنگ متن

  • font-family: نوع فونت

  • font-size: اندازه فونت

  • text-align: ترازبندی متن

  • line-height: ارتفاع خط

  • visibility: وضوح



.parent {
  color: red;
}

.child {
  /* به صورت خودکار رنگ قرمز از والد به فرزند منتقل می‌شود */
}

 

در اینجا:

  • رنگ متن child به دلیل وراثت، قرمز خواهد بود.

 

ویژگی‌های غیرقابل وراثت (Non-inherited Properties)

این ویژگی‌ها به طور پیش‌فرض به فرزندان منتقل نمی‌شوند و فقط در صورتی که به صورت خاص برای آن‌ها تعریف شده باشند، اعمال می‌شوند. برخی از ویژگی‌های غیروراثتی عبارت‌اند از:

  • background-color: رنگ پس‌زمینه

  • border: حاشیه

  • margin: فاصله بیرونی

  • padding: فاصله داخلی

  • height و width: ارتفاع و عرض



.parent {
  background-color: yellow;
}

.child {
  /* بدون تعریف خاصی برای پس‌زمینه، رنگ پس‌زمینه فرزند به صورت پیش‌فرض سفید خواهد بود */
}

 

در اینجا:

  • background-color از parent به child منتقل نمی‌شود و child همچنان پس‌زمینه پیش‌فرض خواهد داشت.

 

استفاده از کلمه کلیدی inherit

با استفاده از inherit می‌توانید به طور دستی ویژگی‌های خاصی را از عنصر والد به فرزندان منتقل کنید، حتی اگر آن ویژگی به صورت پیش‌فرض غیرقابل وراثت باشد.



.parent {
  background-color: lightblue;
}

.child {
  background-color: inherit;
}

 

در اینجا:

  • child رنگ پس‌زمینه والد (یعنی lightblue) را به دلیل استفاده از inherit به ارث می‌برد.

مثال برای اعمال inherit در ویژگی غیرقابل وراثت



.parent {
  padding: 20px;
}

.child {
  padding: inherit;
}

 

در اینجا:

  • child از ویژگی padding والد استفاده می‌کند و دارای 20 پیکسل padding خواهد بود.

 

استفاده از initial و unset در وراثت

CSS همچنین کلمه‌های کلیدی initial و unset را ارائه می‌دهد که به شما کنترل بیشتری در مدیریت وراثت و مقداردهی ویژگی‌ها می‌دهد.

  • initial: ویژگی را به مقدار اولیه آن بازمی‌گرداند، گویی که هرگز تنظیم نشده است.



.child {
  color: initial; /* رنگ متن به مقدار اولیه مرورگر بازمی‌گردد */
}

 

  • unset: در صورت وراثتی بودن ویژگی، آن را از والد به ارث می‌برد و در غیر این صورت به مقدار اولیه بازمی‌گردد.



.child {
  color: unset; /* اگر ویژگی قابل وراثت باشد، ارث می‌برد، در غیر این صورت به مقدار اولیه تنظیم می‌شود */
}

 

کاربردهای رایج Inheritance در CSS

تنظیم فونت برای کل صفحه

با استفاده از وراثت، می‌توانید نوع فونت را برای کل صفحه به صورت یکجا تنظیم کنید و از تکرار بی‌مورد جلوگیری کنید.



body {
  font-family: Arial, sans-serif;
}

h1, p, a {
  /* همه این عناصر از font-family والد ارث می‌برند */
}

 

در اینجا:

  • تمامی عناصر h1، p و a به طور خودکار از فونت Arial استفاده می‌کنند.

 

تنظیم رنگ متن برای چندین عنصر

به جای تنظیم رنگ برای هر عنصر به صورت جداگانه، می‌توانید آن را در والد تعریف کنید و اجازه دهید به فرزندان به ارث برسد.



Copy code
.container {
  color: #333;
}

.container h1, .container p, .container a {
  /* همه این عناصر رنگ متن را از والد دریافت می‌کنند */
}

 

در اینجا:

  • رنگ متن تمامی عناصر h1، p و a درون container به طور خودکار به #333 تنظیم می‌شود.

 

نکات و بهترین شیوه‌ها برای استفاده از Inheritance در CSS

  • استفاده از وراثت برای کاهش کدهای تکراری: با تنظیم ویژگی‌های وراثتی مانند color، font-size و font-family در والد، می‌توانید از کدهای تکراری و اضافه جلوگیری کنید.

  • استفاده از inherit برای ویژگی‌های غیرقابل وراثت: در مواقعی که نیاز به وراثت یک ویژگی غیرقابل وراثت دارید، از کلمه کلیدی inherit استفاده کنید.

  • استفاده از initial برای بازنشانی ویژگی‌ها: در مواقعی که نیاز به بازنشانی ویژگی به مقدار اولیه مرورگر دارید، از initial استفاده کنید.

  • مدیریت وراثت با unset: از unset زمانی استفاده کنید که می‌خواهید بسته به نوع ویژگی، آن را به مقدار اولیه یا وراثتی تنظیم کنید.

 

نتیجه‌گیری

مفهوم وراثت (Inheritance) در CSS یکی از اصول مهم برای بهینه‌سازی و سازمان‌دهی کدهای CSS است. با استفاده از این ویژگی می‌توانید استایل‌های خود را به طور منظم‌تر و کارآمدتری مدیریت کنید. با درک صحیح از ویژگی‌های وراثتی و کنترل آن‌ها با کلمات کلیدی inherit، initial و unset، می‌توانید کدهای مرتب‌تر و قابل نگهداری‌تری ایجاد کنید و تجربه بهتری برای توسعه وب داشته باشید.

پرسش و پاسخ

نظری یافت نشد

مطالب مشابه

مقدمه‌ای بر CSS و نحوه اضافه کردن آن به HTML: راهنمای ساده و کامل برای مبتدیان
4م شهریور 1402

مقدمه‌ای بر CSS و نحوه اضافه کردن آن به HTML: راهنمای ساده و کامل برای مبتدیان

مطالعه بیشتر
آموزش کامل توابع سازنده (Constructors) و پروتوتایپ‌ها (Prototypes) در جاوا اسکریپت: راهنمای جامع
28م مهر 1403

آموزش کامل توابع سازنده (Constructors) و پروتوتایپ‌ها (Prototypes) در جاوا اسکریپت: راهنمای جامع

مطالعه بیشتر
پارامترها و بازگشت از توابع در جاوا اسکریپت: نحوه تعریف و مدیریت خروجی‌ها
2م بهمن 1402

پارامترها و بازگشت از توابع در جاوا اسکریپت: نحوه تعریف و مدیریت خروجی‌ها

مطالعه بیشتر
Lifecycle Hooks در Vue.js | مدیریت چرخه حیات کامپوننت‌ها با مثال کاربردی
29م آذر 1404

Lifecycle Hooks در Vue.js | مدیریت چرخه حیات کامپوننت‌ها با مثال کاربردی

مطالعه بیشتر
مفاهیم Promise و چگونگی استفاده از آن در جاوا اسکریپت: راهنمای کامل همراه با مثال‌ها
30م مهر 1403

مفاهیم Promise و چگونگی استفاده از آن در جاوا اسکریپت: راهنمای کامل همراه با مثال‌ها

مطالعه بیشتر
آموزش استفاده از تگ‌های تصویری در HTML: نمایش و مدیریت تصاویر در صفحات وب
29م مرداد 1402

آموزش استفاده از تگ‌های تصویری در HTML: نمایش و مدیریت تصاویر در صفحات وب

مطالعه بیشتر
عملگرها و عبارات محاسباتی در جاوا اسکریپت: نحوه استفاده و کاربردهای مختلف
28م شهریور 1402

عملگرها و عبارات محاسباتی در جاوا اسکریپت: نحوه استفاده و کاربردهای مختلف

مطالعه بیشتر
استفاده از CSS Scoped و استایل‌دهی به کامپوننت‌ها در Vue.js | آموزش کاربردی
23م آذر 1404

استفاده از CSS Scoped و استایل‌دهی به کامپوننت‌ها در Vue.js | آموزش کاربردی

مطالعه بیشتر
کار با تصاویر SVG در CSS: کنترل استایل و استفاده از گرافیک‌های مقیاس‌پذیر
16م آبان 1403

کار با تصاویر SVG در CSS: کنترل استایل و استفاده از گرافیک‌های مقیاس‌پذیر

مطالعه بیشتر
آموزش ایجاد یک پروژه ساده React: شروع کار و ساختاردهی کامپوننت‌ها
28م شهریور 1402

آموزش ایجاد یک پروژه ساده React: شروع کار و ساختاردهی کامپوننت‌ها

مطالعه بیشتر
تفاوت Callbacks و Promises در جاوا اسکریپت: مقایسه جامع با مثال‌ها
30م مهر 1403

تفاوت Callbacks و Promises در جاوا اسکریپت: مقایسه جامع با مثال‌ها

مطالعه بیشتر
آموزش استایل‌دهی لیست‌ها در CSS: طراحی و استایل‌دهی ul و ol
10م آبان 1403

آموزش استایل‌دهی لیست‌ها در CSS: طراحی و استایل‌دهی ul و ol

مطالعه بیشتر

تمامی حقوق معتلق به ناشر سایت است و کپی از آن پیگرد قانونی دارد