وراثت (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، میتوانید کدهای مرتبتر و قابل نگهداریتری ایجاد کنید و تجربه بهتری برای توسعه وب داشته باشید.
نظری یافت نشد
معرفی جاوا اسکریپت و نحوه استفاده از آن برای توسعه وب تعاملی: راهنمای جامع
27م شهریور 1402
مطالعه بیشتر
آموزش ایجاد تصویر و لینک در HTML: نحوه استفاده از تگهای img و a
21م مرداد 1402
مطالعه بیشتر
Async/Await: نوشتن کدهای خواناتر و ناهمزمان در جاوا اسکریپت - آموزش کامل با مثالها
30م مهر 1403
مطالعه بیشتر
آموزش اصول Web APIs و نحوه استفاده از آنها در جاوا اسکریپت: راهنمای کامل با مثالها
1م آبان 1403
مطالعه بیشتر
مقدمهای بر CSS و نحوه اضافه کردن آن به HTML: راهنمای ساده و کامل برای مبتدیان
4م شهریور 1402
مطالعه بیشتر
آموزش تگهای زمان و مکان در HTML: استفاده از time و location در صفحات وب
29م مرداد 1402
مطالعه بیشتر
آموزش کامل ویژگی background در CSS: تنظیمات پسزمینه برای طراحی وب راهنمای جامع
5م شهریور 1402
مطالعه بیشتر
آموزش استایلدهی لیستها در CSS: طراحی و استایلدهی ul و ol
10م آبان 1403
مطالعه بیشتر
آموزش کار با Local Storage و Session Storage در جاوا اسکریپت: ذخیرهسازی دادهها در مرورگر
3م آبان 1403
مطالعه بیشتر
مقدمه و ساختار اولیه HTML: راهنمای شروع طراحی صفحات وب برای مبتدیان
18م مرداد 1402
مطالعه بیشتر
الگوهای رایج برنامهنویسی ناهمگام در جاوا اسکریپت: Promise.race، Promise.all، و Promise.any کامل و مثالها
1م آبان 1403
مطالعه بیشتر
چگونه یک فوتر چسبان در CSS بسازیم: آموزش ساخت فوتر ثابت و همیشگی
2م شهریور 1403
مطالعه بیشتر
تمامی حقوق معتلق به ناشر سایت است و کپی از آن پیگرد قانونی دارد