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

دسته : آموزش رایگان CSS

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

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

پرسش و پاسخ

نظری یافت نشد

مطالب مشابه

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

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

27م شهریور 1402

مطالعه بیشتر

آموزش ایجاد تصویر و لینک در HTML: نحوه استفاده از تگ‌های img و a

آموزش ایجاد تصویر و لینک در HTML: نحوه استفاده از تگ‌های img و a

21م مرداد 1402

مطالعه بیشتر

Async/Await: نوشتن کدهای خواناتر و ناهم‌زمان در جاوا اسکریپت - آموزش کامل با مثال‌ها

Async/Await: نوشتن کدهای خواناتر و ناهم‌زمان در جاوا اسکریپت - آموزش کامل با مثال‌ها

30م مهر 1403

مطالعه بیشتر

آموزش اصول Web APIs و نحوه استفاده از آن‌ها در جاوا اسکریپت: راهنمای کامل با مثال‌ها

آموزش اصول Web APIs و نحوه استفاده از آن‌ها در جاوا اسکریپت: راهنمای کامل با مثال‌ها

1م آبان 1403

مطالعه بیشتر

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

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

4م شهریور 1402

مطالعه بیشتر

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

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

29م مرداد 1402

مطالعه بیشتر

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

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

5م شهریور 1402

مطالعه بیشتر

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

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

10م آبان 1403

مطالعه بیشتر

آموزش کار با Local Storage و Session Storage در جاوا اسکریپت: ذخیره‌سازی داده‌ها در مرورگر

آموزش کار با Local Storage و Session Storage در جاوا اسکریپت: ذخیره‌سازی داده‌ها در مرورگر

3م آبان 1403

مطالعه بیشتر

مقدمه و ساختار اولیه HTML: راهنمای شروع طراحی صفحات وب برای مبتدیان

مقدمه و ساختار اولیه HTML: راهنمای شروع طراحی صفحات وب برای مبتدیان

18م مرداد 1402

مطالعه بیشتر

الگوهای رایج برنامه‌نویسی ناهمگام در جاوا اسکریپت: Promise.race، Promise.all، و Promise.any کامل و مثال‌ها

الگوهای رایج برنامه‌نویسی ناهمگام در جاوا اسکریپت: Promise.race، Promise.all، و Promise.any کامل و مثال‌ها

1م آبان 1403

مطالعه بیشتر

چگونه یک فوتر چسبان در CSS بسازیم: آموزش ساخت فوتر ثابت و همیشگی

چگونه یک فوتر چسبان در CSS بسازیم: آموزش ساخت فوتر ثابت و همیشگی

2م شهریور 1403

مطالعه بیشتر

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