آموزش رایگان 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، می‌توانید کدهای مرتب‌تر و قابل نگهداری‌تری ایجاد کنید و تجربه بهتری برای توسعه وب داشته باشید.

پرسش و پاسخ

نظری یافت نشد

مطالب مشابه

آموزش کامل ساخت و افزودن تقویم فارسی به Input (کامل و استاندارد)
14م خرداد 1405

آموزش کامل ساخت و افزودن تقویم فارسی به Input (کامل و استاندارد)

مطالعه بیشتر
کار با border و تنظیمات آن در CSS: مدیریت زوایای گرد با border-radius
9م آبان 1403

کار با border و تنظیمات آن در CSS: مدیریت زوایای گرد با border-radius

مطالعه بیشتر
آموزش لیست‌ها در CSS: طراحی و استایل‌دهی ساده برای لیست‌های HTML
10م شهریور 1402

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

مطالعه بیشتر
جمع‌بندی، مرور مطالب و پروژه نهایی: ایجاد یک اپلیکیشن وب کامل با جاوا اسکریپت - راهنمای گام به گام
5م آبان 1403

جمع‌بندی، مرور مطالب و پروژه نهایی: ایجاد یک اپلیکیشن وب کامل با جاوا اسکریپت - راهنمای گام به گام

مطالعه بیشتر
آموزش استفاده از object-fit و object-position در CSS: تنظیم و قرارگیری تصاویر به‌صورت دقیق
12م آبان 1403

آموزش استفاده از object-fit و object-position در CSS: تنظیم و قرارگیری تصاویر به‌صورت دقیق

مطالعه بیشتر
ایجاد Layout‌های واکنش‌گرا با flex-direction و justify-content در CSS Flexbox: راهنمای جامع
11م آبان 1403

ایجاد Layout‌های واکنش‌گرا با flex-direction و justify-content در CSS Flexbox: راهنمای جامع

مطالعه بیشتر
آموزش کامل ویژگی background در CSS: تنظیمات پس‌زمینه برای طراحی وب راهنمای جامع
5م شهریور 1402

آموزش کامل ویژگی background در CSS: تنظیمات پس‌زمینه برای طراحی وب راهنمای جامع

مطالعه بیشتر
درک و استفاده از Watchers در Vue.js | آموزش Watch با مثال کاربردی
28م آذر 1404

درک و استفاده از Watchers در Vue.js | آموزش Watch با مثال کاربردی

مطالعه بیشتر
آموزش جامع و گام‌به‌گام حلقه for در PHP + مثال‌های کاربردی
4م تیر 1405

آموزش جامع و گام‌به‌گام حلقه for در PHP + مثال‌های کاربردی

مطالعه بیشتر
آموزش کامل دستورات شرطی در PHP: راهنمای جامع if، else و elseif
4م تیر 1405

آموزش کامل دستورات شرطی در PHP: راهنمای جامع if، else و elseif

مطالعه بیشتر
آموزش ساختار کامپوننت در Vue.js (راهنمای کامل همراه مثال)
15م مرداد 1404

آموزش ساختار کامپوننت در Vue.js (راهنمای کامل همراه مثال)

مطالعه بیشتر
آموزش توسعه بازی‌های ساده با استفاده از جاوا اسکریپت و Canvas API: راهنمای گام به گام
5م آبان 1403

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

مطالعه بیشتر

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