وراثت (Inheritance) یکی از مفاهیم مهم در CSS است که به شما امکان میدهد استایلهای خاصی را از یک عنصر به فرزندان آن منتقل کنید. با درک صحیح از وراثت در CSS، میتوانید کدهای مرتبتر و خواناتری ایجاد کرده و در عین حال، حجم کدهای CSS را کاهش دهید. این مقاله به شما کمک میکند تا با مفهوم وراثت، نحوه عملکرد آن و نحوه کنترل وراثت در CSS آشنا شوید.
در CSS، برخی از ویژگیها به طور خودکار از والد به فرزندان ارث میبرند. این ویژگیها معمولاً مربوط به ظاهر عمومی صفحه، مانند رنگ متن، اندازه فونت و برخی ویژگیهای دیگر هستند. وراثت به این معناست که استایلی که برای یک عنصر والد تعریف میشود، به فرزندان آن نیز منتقل میشود، مگر اینکه به صورت خاص برای فرزند عنصر تعریف دیگری شده باشد.
در CSS، برخی از ویژگیها به صورت پیشفرض به فرزندان ارث میرسند، اما برخی دیگر از ویژگیها فقط در صورت تعریف صریح، به فرزندان اعمال میشوند.
این ویژگیها به طور پیشفرض از عنصر والد به فرزندان منتقل میشوند. برخی از ویژگیهای وراثتی عبارتاند از:
color: رنگ متن
font-family: نوع فونت
font-size: اندازه فونت
text-align: ترازبندی متن
line-height: ارتفاع خط
visibility: وضوح
.parent {
color: red;
}
.child {
/* به صورت خودکار رنگ قرمز از والد به فرزند منتقل میشود */
}
در اینجا:
رنگ متن child به دلیل وراثت، قرمز خواهد بود.
این ویژگیها به طور پیشفرض به فرزندان منتقل نمیشوند و فقط در صورتی که به صورت خاص برای آنها تعریف شده باشند، اعمال میشوند. برخی از ویژگیهای غیروراثتی عبارتاند از:
background-color: رنگ پسزمینه
border: حاشیه
margin: فاصله بیرونی
padding: فاصله داخلی
height و width: ارتفاع و عرض
.parent {
background-color: yellow;
}
.child {
/* بدون تعریف خاصی برای پسزمینه، رنگ پسزمینه فرزند به صورت پیشفرض سفید خواهد بود */
}
در اینجا:
background-color از parent به child منتقل نمیشود و child همچنان پسزمینه پیشفرض خواهد داشت.
با استفاده از inherit میتوانید به طور دستی ویژگیهای خاصی را از عنصر والد به فرزندان منتقل کنید، حتی اگر آن ویژگی به صورت پیشفرض غیرقابل وراثت باشد.
.parent {
background-color: lightblue;
}
.child {
background-color: inherit;
}
در اینجا:
child رنگ پسزمینه والد (یعنی lightblue) را به دلیل استفاده از inherit به ارث میبرد.
مثال برای اعمال inherit در ویژگی غیرقابل وراثت
.parent {
padding: 20px;
}
.child {
padding: inherit;
}
در اینجا:
child از ویژگی padding والد استفاده میکند و دارای 20 پیکسل padding خواهد بود.
CSS همچنین کلمههای کلیدی initial و unset را ارائه میدهد که به شما کنترل بیشتری در مدیریت وراثت و مقداردهی ویژگیها میدهد.
initial: ویژگی را به مقدار اولیه آن بازمیگرداند، گویی که هرگز تنظیم نشده است.
.child {
color: initial; /* رنگ متن به مقدار اولیه مرورگر بازمیگردد */
}
unset: در صورت وراثتی بودن ویژگی، آن را از والد به ارث میبرد و در غیر این صورت به مقدار اولیه بازمیگردد.
.child {
color: unset; /* اگر ویژگی قابل وراثت باشد، ارث میبرد، در غیر این صورت به مقدار اولیه تنظیم میشود */
}
با استفاده از وراثت، میتوانید نوع فونت را برای کل صفحه به صورت یکجا تنظیم کنید و از تکرار بیمورد جلوگیری کنید.
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 تنظیم میشود.
استفاده از وراثت برای کاهش کدهای تکراری: با تنظیم ویژگیهای وراثتی مانند color، font-size و font-family در والد، میتوانید از کدهای تکراری و اضافه جلوگیری کنید.
استفاده از inherit برای ویژگیهای غیرقابل وراثت: در مواقعی که نیاز به وراثت یک ویژگی غیرقابل وراثت دارید، از کلمه کلیدی inherit استفاده کنید.
استفاده از initial برای بازنشانی ویژگیها: در مواقعی که نیاز به بازنشانی ویژگی به مقدار اولیه مرورگر دارید، از initial استفاده کنید.
مدیریت وراثت با unset: از unset زمانی استفاده کنید که میخواهید بسته به نوع ویژگی، آن را به مقدار اولیه یا وراثتی تنظیم کنید.
مفهوم وراثت (Inheritance) در CSS یکی از اصول مهم برای بهینهسازی و سازماندهی کدهای CSS است. با استفاده از این ویژگی میتوانید استایلهای خود را به طور منظمتر و کارآمدتری مدیریت کنید. با درک صحیح از ویژگیهای وراثتی و کنترل آنها با کلمات کلیدی inherit، initial و unset، میتوانید کدهای مرتبتر و قابل نگهداریتری ایجاد کنید و تجربه بهتری برای توسعه وب داشته باشید.
نظری یافت نشد
آموزش ایجاد تصویر و لینک در HTML: نحوه استفاده از تگهای img و a
21م مرداد 1402
مطالعه بیشتر
آموزش استفاده از تگهای خاص HTML: تگهای کاربردی برای طراحی وبسایت
22م مرداد 1402
مطالعه بیشتر
آموزش کار با Local Storage و Session Storage در جاوا اسکریپت: ذخیرهسازی دادهها در مرورگر
3م آبان 1403
مطالعه بیشتر
چگونه یک فوتر چسبان در CSS بسازیم: آموزش ساخت فوتر ثابت و همیشگی
2م شهریور 1403
مطالعه بیشتر
آموزش کامل کنترل جریان و استفاده از if و else در جاوا اسکریپت: راهنمای جامع برای مبتدیان
2م بهمن 1402
مطالعه بیشتر
JSX و رندرینگ مؤثر در React.js: بهینهسازی کامپوننتها و بهبود عملکرد
28م شهریور 1402
مطالعه بیشتر
آموزش ایجاد و حذف المانهای DOM به صورت داینامیک با جاوا اسکریپت: راهنمای جامع و کاربردی
2م آبان 1403
مطالعه بیشتر
مفاهیم پیشرفته در کلاسها و وراثت (Super, Extends) در جاوا اسکریپت: راهنمای کامل و مثالها
29م مهر 1403
مطالعه بیشتر
استفاده از visibility و opacity در CSS برای مخفیسازی عناصر: راهنمای کامل و کاربردی
11م آبان 1403
مطالعه بیشتر
آموزش ساخت Toggle Switch با CSS: طراحی دکمههای تغییر وضعیت جذاب و واکنشگرا
16م آبان 1403
مطالعه بیشتر
استفاده از setTimeout و setInterval در جاوا اسکریپت: آموزش کامل و مثالها
29م مهر 1403
مطالعه بیشتر
عملگرها و عبارات محاسباتی در جاوا اسکریپت: نحوه استفاده و کاربردهای مختلف
28م شهریور 1402
مطالعه بیشتر
تمامی حقوق معتلق به ناشر سایت است و کپی از آن پیگرد قانونی دارد