الفرق بين display و visibility في css

في تطوير واجهات الويب باستخدام CSS، قد نحتاج في كثير من الأحيان إلى إخفاء عنصر معين من الصفحة. وهنا يبرز سؤال شائع:

هل أستخدم display: none أم visibility: hidden؟

رغم أن كلا الخاصيتين تؤديان إلى “إخفاء” العنصر، إلا أن سلوك كل واحدة منهما يختلف بشكل جذري، وله تأثير مباشر على تصميم الصفحة وتجربة المستخدم.

في هذا المقال، نوضح الفروقات بين هاتين الخاصيتين، ونقدّم مثال عملي يساعدك على اتخاذ القرار الصحيح في كل موقف

display:none

• تُخفي العنصر بالكامل من الصفحة.

• لا يشغل العنصر أي مساحة في هيكل الصفحة.

• لا يمكن التفاعل مع العنصر، وكأنه غير موجود على الإطلاق

استخداماته:

• إخفاء عناصر واجهة المستخدم التي لا حاجة لعرضها حاليًا.

• التنقل بين حالات الظهور والاختفاء باستخدام JavaScript.

• إخفاء عناصر في واجهات Responsive Design

ثانيًا: visibility: hidden
• يُخفي العنصر عن المستخدم، لكنه يظل يشغل نفس المساحة في الصفحة.
• لا يمكن التفاعل مع العنصر (مثلاً لا يمكن النقر عليه).
• العنصر موجود في DOM ومشارك في ترتيب العناصر، لكنه غير مرئي
استخداماته:
• عندما ترغب في الحفاظ على ترتيب الصفحة دون تغييرات أثناء الإخفاء.
• إخفاء عناصر مؤقتًا دون التأثير على محاذاة المحتوى المجاور.
 
هذا مثال يوضح الفرق بينهم
 

للمزيد من المعلومات انقر هنا