انتقل إلى محتوى الدرس
الدرس 25
دورة بوتستراب 5

رسائل التنبيه في بوتستراب 5Bootstrap 5 Alerts

تعلّم بناء رسائل التنبيه في بوتستراب 5.3، وتنسيق روابط alert-link والعناوين الداخلية، ودمج الأيقونات المتجهية بمرونة، وتفعيل الإغلاق المتلاشي وتوليد التنبيهات بجافاسكريبت.
أقسام الدرس
6
الأمثلة
4
اللغة
العربية
تاريخ النشر
غير محدد
المشاهدات
2
محتوى الدرس
في هذا الدرس 6تصفّح المواضيع

تحتاج كل واجهة تفاعلية إلى وسيلة واضحة لإبلاغ المستخدم بنجاح حفظ بياناته، أو تحذيره من قرب انتهاء جلسته، أو تنبيهه لخطأ في الاتصال. يوفر Bootstrap 5.3 مكوّن .alert مع ثمانية أنماط دلالية تمتد من .alert-primary و.alert-success إلى .alert-warning و.alert-danger، مع ضرورة إضافة السمة role="alert" حتى تعلن قارئات الشاشة الرسالة فور ظهورها.

مخطط بنية صناديق التنبيه والروابط المتناغمة والأيقونات والإغلاق في بوتستراب 5.3
HTML
<div class="alert alert-success" role="alert">
  Backup completed successfully in 1.4 seconds.
</div>
<div class="alert alert-danger mb-0" role="alert">
  Connection lost. Retrying gateway handshake.
</div>

لا تقتصر التنبيهات على سطر نصي واحد؛ إذ يمكنك بناء رسالة إرشادية مفصلة تضم عنواناً داخلياً بكلاس .alert-heading يرث لون التنبيه تلقائياً، وفقرة شرح واضحة، وخطاً فاصلاً <hr> متبوعاً بفقرة ختامية تحمل .mb-0 للحفاظ على توازن الحشو السفلي.

يساعد دمج أيقونة متجهية مع نص التنبيه — مثل علامة الصح للنجاح أو المثلث التحذيري للتنبيه — على إيصال معنى الرسالة في جزء من الثانية حتى لمصابي عمى الألوان! نطبّق ذلك بتحويل التنبيه إلى صف مرن عبر .d-flex .align-items-center، مع منح الأيقونة .flex-shrink-0 .me-2 حتى لا تنضغط الأيقونة أبداً عند التفاف النص الطويل على شاشة الهاتف.

HTML
<div class="alert alert-primary d-flex align-items-center"
  role="alert">
  <i class="bi bi-info-circle-fill flex-shrink-0 me-2"
    aria-hidden="true"></i>
  <div>New regional edge node is now active.</div>
</div>

لتمكين المستخدم من إغلاق التنبيه وإزالته من الشاشة بنقرة واحدة، نجمع ثلاثة عناصر متكاملة: الكلاس .alert-dismissible الذي يضيف حشواً جانبياً لحجز مكان الزر، والكلاسين .fade .show لتفعيل حركة التلاشي البصري الناعم، وزر الإغلاق <button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button> داخل الصندوق.

HTML
<div class="alert alert-warning alert-dismissible fade show"
  role="alert">
  <strong>Storage 85% full!</strong> Archive old snapshots.
  <button type="button" class="btn-close"
    data-bs-dismiss="alert" aria-label="Close"></button>
</div>

في التطبيقات الحديثة كثيراً ما تتولد التنبيهات ديناميكياً استجابةً لزر «حفظ الإعدادات» أو استجابة طلب شبكة عبر Vanilla JavaScript بدون أي مكتبة خارجية؛ حيث ننشئ عنصر <div> ونلحقه بحاوية مخصصة، كما يوفر الكائن البرمجي bootstrap.Alert.getOrCreateInstance(el) دالة .close() لإغلاق التنبيه برمجياً بعد مرور ثوانٍ محددة.

الميزة في التنبيهالكلاس أو الواجهة البرمجيةالوظيفة الدقيقة
الروابط المتناغمة.alert-linkيطابق لون الرابط وسماكته مع فصيلة التنبيه المحيطة
العنوان الداخلي.alert-headingيورّث لون التنبيه الدلالي لعناوين <h4>–<h6>
التنبيه القابل للإغلاق.alert-dismissible .fade .showيحجز مسافة زر .btn-close ويفعّل التلاشي
التحكم البرمجي JSbootstrap.Alert.getOrCreateInstanceيغلق التنبيه برمجياً ويطلق أحداث الإغلاق القياسية
خلاصة المعرفة ومحطة الانتقال

ملخص الدرس

حصاد الدرس

مراجعة مركّزة لأهم المفاهيم والقواعد الهندسية التي أتقنتها في هذا الدرس قبل التطبيق العملي

ماذا تعلّمت في هذا الدرس؟

أتقنت في هذا الدرس تصميم صناديق التنبيه الثمانية في بوتستراب 5.3، وتنسيق الروابط والعناوين الداخلية، ومحاذاة الأيقونات المتجهية، وتفعيل الإغلاق المتلاشي، والتعامل مع الواجهة البرمجية وأحداث جافاسكريبت. الخطوة التالية: انتقل الآن إلى الدرس السادس والعشرين لدراسة المكوّن الأكثر مرونة في واجهات الويب الحديثة وهو حاوية البطاقات Cards بتشريحها الكامل وشبكاتها المتساوية.

مشاركة

هل كان هذا الدرس مفيدًا؟

جارٍ تحميل الآراء…

ابنِ لغتك البرمجية

المصطلحات4

راجع المعنى، اشرحه لنفسك، ثم علّم البطاقة كمفهومة.

0 / 4 مفهومةأول بطاقة، أول خطوة
01 Alert Component مكوّن صندوق التنبيه
حاوية رسائل تفاعلية ملونة تعلن حالات النجاح أو التحذير أو الخطأ للمستخدم وقارئات الشاشة.
للمراجعة
02 Harmonized Alert Link رابط التنبيه المتناغم
كلاس يمنح الروابط الواقعة داخل التنبيه وزناً عريضاً ولوناً منسجماً مع خلفية الصندوق.
للمراجعة
03 Dismissible Alert التنبيه القابل للإغلاق
تنبيه مزود بزر إغلاق قياسي وحركة تلاشي ناعمة تحذف الصندوق عند النقر.
للمراجعة
04 Alert Heading عنوان التنبيه الداخلي
كلاس يجعل عناوين الفقرات داخل التنبيه ترث اللون الدلالي للصندوق تلقائياً.
للمراجعة

اقرأ البطاقات بحرية. سجّل الدخول لحفظ تقدم مراجعتك.

حروف قليلة. معنى كامل.

الاختصارات4

راجع المعنى، اشرحه لنفسك، ثم علّم البطاقة كمفهومة.

0 / 4 مفهومةأول بطاقة، أول خطوة
01 ARIA ARIA
Accessible Rich Internet Applications
توفر الدور role="alert" الذي يوجه قارئ الشاشة لنطق التنبيه فور ظهوره.
للمراجعة
02 XSS XSS
Cross-Site Scripting
ثغرة أمنية نتجنبها عند توليد التنبيهات ديناميكياً بإسناد النصوص عبر textContent الآمن.
للمراجعة
03 DOM DOM
Document Object Model
شجرة عناصر الصفحة التي يُحذف منها عنصر التنبيه نهائياً عقب اكتمال حركة الإغلاق.
للمراجعة
04 SVG SVG
Scalable Vector Graphics
الأيقونات المتجهية الحادة التي تدمج داخل التنبيه لتوضيح دلالته البصرية فوراً.
للمراجعة

اقرأ البطاقات بحرية. سجّل الدخول لحفظ تقدم مراجعتك.

من الفهم للتطبيق

مهامك قبل الاختبار

خطوة صغيرة كل مرة. وإنجاز تقدر ترجع له.

0/2مهام منجزة
  1. أنشئ صندوق alert-warning مرناً يضم أيقونة تحذير محمية بكلاس flex-shrink-0 مع رابط داخلي يحمل alert-link.

  2. صمّم تنبيه نجاح يضم عنواناً بكلاس alert-heading وخطاً فاصلاً وزر إغلاق يفعل التلاشي عبر data-bs-dismiss="alert".

تأشير المهمة إقرار منك بإتمامها، وليس تصحيحًا آليًا للكود. يُحفظ تقدمك في حسابك.

مساحة التحدي

اختبر فهمك.
ووصلها للإتقان.

كل سؤال خطوة لقدّام. اختار، اكتب كود، وشوف نتيجتك فورًا.

8أسئلة 2أنواع تحديات 100%هدف الإتقان
تصحيح تلقائي. فرص بلا حدود.

أكمل المهام، واجمع كل الإجابات الصحيحة. أقل من 100%؟ راجع وأعد المحاولة.

الأسئلة متاحة للاطلاع. سجّل الدخول للتفاعل وحفظ تقدمك.

لمحة عن التحدي8 أسئلة تنتظرك
01

أي كلاس يمنح الروابط الموضوعة داخل صندوق .alert لوناً ووزناً متناغمين مع خلفية التنبيه؟

صُمم الكلاس .alert-link خصيصاً لتلوين الروابط بدرجة متباينة مشتقة من لون التنبيه المحيط.

02

ما السمة القياسية في Bootstrap 5 لربط زر .btn-close بإغلاق صندوق التنبيه دون كود جافاسكريبت يدوي؟

تعتمد كل إضافات Bootstrap 5 على بادئة data-bs-*، وتُغلق التنبيهات عبر data-bs-dismiss="alert".

03

يُحذف عنصر التنبيه نهائياً من شجرة DOM عقب إغلاقه بزر .btn-close وليس مجرد إخفائه مؤقتاً.

نعم، بعد انتهاء انتقال التلاشي يزيل مكوّن Alert العنصر كلياً من شجرة DOM.

04

لماذا نضيف الكلاس .alert-dismissible إلى حاوية التنبيه عند وضع زر .btn-close بداخلها؟

يحجز .alert-dismissible حشواً جانبياً قدره 3rem ويضبط تموضع زر .btn-close في الطرف الصحيح.

05

أي زوج كلاسات يُضاف إلى التنبيه القابل للإغلاق لتفعيل حركة التلاشي التدريجي عند الإغلاق؟

يفعّل .fade انتقال الشفافية بينما يبقي .show التنبيه ظاهراً إلى أن يُنقر زر الإغلاق.

06

ما فائدة إضافة .flex-shrink-0 على الأيقونة الموضوعة داخل تنبيه مرن .d-flex؟

يحافظ .flex-shrink-0 على العرض الأصلي للأيقونة ثابتاً مهما طال النص المجاور داخل حاوية Flexbox.

07

ينطلق الحدث closed.bs.alert قبل بدء حركة التلاشي البصري للتنبيه مباشرة.

خطأ؛ الحدث close.bs.alert هو الذي ينطلق فوراً عند طلب الإغلاق، أما closed.bs.alert فينطلق بعد اكتمال التلاشي وإزالة العنصر.

08

أي ممارسة أمنية يجب اتباعها عند توليد تنبيه جافاسكريبت يعرض نصاً قادماً من مدخلات المستخدم؟

يمنع استخدام textContent تفسير أي وسوم خبيثة ككود قابل للتنفيذ، مما يحمي الواجهة من ثغرات XSS.