🎯 التحكم في ظهور العناصر: دليل شامل لخاصية visibility في CSS
اليوم سنتعلم كيفية التحكم في ظهور العناصر على صفحة الويب باستخدام خاصية CSS الرائعة visibility. هذه الخاصية تمنحك القدرة على إظهار أو إخفاء العناصر بسهولة مع الحفاظ على تخطيط الصفحة.
📖 ما هي خاصية visibility؟
خاصية visibility في CSS تتحكم في رؤية العنصر على الصفحة. بمعنى آخر، تحدد ما إذا كان العنصر مرئياً للمستخدم أم مخفياً عنه.
.element {
visibility: visible; /* العنصر ظاهر */
}
الخاصية تأخذ عدة قيم أساسية سنتعرف عليها الآن خطوة بخطوة.
🔍 القيم الأساسية لخاصية visibility
1. visible (الافتراضي)
هذه القيمة تجعل العنصر ظاهراً تماماً كما هو متوقع. إذا لم تحدد قيمة للخاصية، فهذه هي القيمة الافتراضية.
.box {
visibility: visible; /* العنصر مرئي */
}
2. hidden
هذه القيمة تجعل العنصر مخفياً، لكن مع فارق مهم جداً: العنصر لا يزال يشغل مساحته في الصفحة!
.hidden-box {
visibility: hidden; /* العنصر مخفي لكن مساحته محجوزة */
}
🆚 الفرق بين visibility: hidden و display: none
هذا تمييز مهم جداً للمبتدئين:
visibility: hidden: يخفي العنصر لكن يحتفظ بمساحته في التخطيطdisplay: none: يخفي العنصر ويزيله تماماً من التخطيط
/* مثال عملي للتوضيح */
.box1 {
visibility: hidden; /* مخفي لكن مساحته موجودة */
}
.box2 {
display: none; /* مخفي ومساحته محذوفة */
}
💡 تخيل الأمر كالتالي: مع visibility: hidden يكون العنصر مثل شبح - غير مرئي لكنه لا يزال موجوداً. مع display: none يكون العنصر كما لو لم يكن موجوداً أصلاً!
🎭 قيمة collapse الخاصة بالجداول
هناك قيمة ثالثة خاصة بالجداول وهي collapse:
table tr {
visibility: collapse; /* يخفي صف الجدول ويحذف مساحته */
}
هذه القيمة تعمل فقط على عناصر الجداول (table, tr, td, th). عندما تخفي صفاً في جدول باستخدام collapse، فإن الصف يختفي وتحذف مساحته (مشابه لـ display: none ولكن للجداول فقط).
🛠️ أمثلة عملية مبسطة
لنطبق ما تعلمناه بمثال عملي بسيط:
<!DOCTYPE html>
<html>
<head>
<style>
.visible-box {
visibility: visible;
background: lightblue;
padding: 20px;
margin: 10px;
}
.hidden-box {
visibility: hidden;
background: lightcoral;
padding: 20px;
margin: 10px;
}
.normal-box {
background: lightgreen;
padding: 20px;
margin: 10px;
}
</style>
</head>
<body>
<div class="visible-box">هذا العنصر ظاهر</div>
<div class="hidden-box">هذا العنصر مخفي لكن مساحته محجوزة</div>
<div class="normal-box">لاحظ المسافة فوقي بسبب العنصر المخفي</div>
</body>
</html>
في هذا المثال، سترى أن الصندوق الأزرق ظاهر، والأحمر مخفي لكنه يترك مسافة فارغة، والأخضر يظهر بشكل طبيعي مع وجود فراغ فوقه.
⚠️ نصائح مهمة للمبتدئين
- استخدم
visibilityعندما تريد إخفاء عنصر مع الحفاظ على تخطيط الصفحة - استخدم
display: noneعندما تريد إزالة العنصر تماماً من التخطيط - تذكر أن العناصر المخفية بـ
visibility: hiddenلا تزال قابلة للتفاعل عبر JavaScript - اختر الأداة المناسبة للمهمة المناسبة
🎯 متى نستخدم كل خاصية؟
| الموقف | الخاصية المناسبة |
|---|---|
| إخفاء عنصر مع الحفاظ على مساحته | visibility: hidden |
| إزالة عنصر تماماً من التخطيط | display: none |
| إخفاء صف في جدول | visibility: collapse |
| جعل عنصر شفافاً تدريجياً | opacity (سنتعلمها لاحقاً) |
🎓 اختبر نفسك
التعليقات
شاركنا رأيك أو أسئلتك حول هذا المقال