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

مجموعات الإدخال في بوتستراب 5Bootstrap 5 Input Groups

وسّع إمكانات الحقول في بوتستراب 5 عبر مجموعات الإدخال المبسطة بإلحاق البادئات واللواحق النصية وضبط الأحجام ودمج مربعات الاختيار والأزرار والقوائم والملفات.
أقسام الدرس
6
الأمثلة
4
اللغة
العربية
تاريخ النشر
غير محدد
المشاهدات
0
محتوى الدرس
في هذا الدرس 6تصفّح المواضيع

كثيراً ما تحتاج في النماذج العملية إلى لصق رمز عملة $، أو علامة حساب @، أو نطاق بريد ثابت @company.com مباشرة بحافة حقل النص بحيث يبدوان كقطعة واحدة متصلة. يوفر Bootstrap 5 لهذا الغرض الحاوية المرنة .input-group ببنية مسطحة مبسطة للغاية بعد أن ألغى نهائياً الحاويتين الوسيطتين القديمتين من الإصدار الرابع.

كل ما عليك فعله الآن هو وضع عنصر الإضافة النصية <span class="input-group-text"> وحقل .form-control كأبناء مباشرين جنباً إلى جنب داخل .input-group، وسيتولى بوتستراب تصفير الزوايا الداخلية المتلاقية تلقائياً. ضع دائماً عنصر <label class="form-label"> خارج .input-group وليس بداخله.

HTML
<div class="input-group mb-3">
  <span class="input-group-text" id="atAddon">@</span>
  <input type="text" class="form-control"
         placeholder="username" aria-describedby="atAddon">
</div>
<div class="input-group flex-nowrap">
  <span class="input-group-text">https://</span>
  <input type="text" class="form-control" value="site.io">
</div>

لتكبير أو تصغير مجموعة الإدخال بأكملها (بما فيها البادئة النصية والحقل معاً)، أضف الكلاس .input-group-lg أو .input-group-sm إلى الحاوية الأب .input-group نفسها. لا تضع كلاسات تحجيم فردية مثل .form-control-lg على الحقول الداخلية منفردة، لأن كلاس المجموعة الأب ينسق ارتفاع وحشو جميع الأبناء المباشرين بتناغم تام.

مخطط يوضح البنية المسطحة لمجموعة الإدخال input-group بوضع البادئة والحقل والزر كأبناء مباشرين
HTML
<div class="input-group input-group-sm mb-2">
  <span class="input-group-text">SM</span>
  <input type="text" class="form-control">
</div>
<div class="input-group input-group-lg">
  <span class="input-group-text">LG</span>
  <input type="text" class="form-control">
</div>

يمكنك دمج مربع اختيار checkbox أو زر راديو radio داخل خانة البادئة بدلاً من النص (كأن يفعّل المستخدم خيار ضريبة مخصصة ثم يكتب نسبتها في الحقل المجاور). ضع عنصر <input class="form-check-input mt-0"> مباشرة داخل <div class="input-group-text"> بدون حاوية .form-check، مع إضافة .mt-0 لتوسيط المربع عمودياً بدقة وتزويده بسمة aria-label.

لا تقتصر مجموعة الإدخال على بادئة واحدة وحقل واحد؛ بل يمكنك ربط حقلَي .form-control متتاليين داخل نفس .input-group (مثل الاسم الأول واسم العائلة بجانب بادئة واحدة)، أو وضع أكثر من عنصر .input-group-text قبل الحقل أو بعده (مثل رمز العملة $ وكسور السنت 0.00).

HTML
<div class="input-group mb-3">
  <div class="input-group-text">
    <input class="form-check-input mt-0" type="checkbox">
  </div>
  <input type="text" class="form-control" value="8080">
</div>
<div class="input-group">
  <span class="input-group-text">Name</span>
  <input class="form-control" placeholder="First">
</div>

لإرفاق زر إجراء تفاعلي (مثل زر «بحث» أو «نسخ الرابط» أو «تحقق من الكوبون») بحقل الإدخال، ضع عنصر <button class="btn ..."> مباشرة كابن داخل .input-group دون تغليفه بكلاس .input-group-text! يمكنك أيضاً صف زرين متتاليين على نفس الطرف، كما تدعم البنية ذاتها إلحاق أزرار القوائم المنسدلة المقسّمة بنفس السلاسة عندما ندرس مكوّن القوائم المنسدلة التفاعلية لاحقاً في هذه الدورة.

جرّب تركيبات مجموعات الإدخال الأربعة في المختبر التفاعلي التالي:

يتكامل الكلاس .input-group بنفس البساطة مع عناصر <select class="form-select"> وحقول رفع الملفات <input type="file" class="form-control">. فعند ربط عنصر <label class="input-group-text" for="fileId"> بجانب حقل الملفات، تتحول التسمية المتصلة إلى منطقة نقر إضافية أنيقة تفتح نافذة اختيار الملف فوراً، أو يمكنك وضع زر إرسال .btn على الطرف الآخر لرفع الملف مباشرة.

HTML
<div class="input-group mb-3">
  <label class="input-group-text" for="envSel">Env</label>
  <select class="form-select" id="envSel">
    <option selected>Production</option>
  </select>
</div>
<div class="input-group">
  <input type="file" class="form-control" id="certFile">
  <button class="btn btn-primary" type="button">Go</button>
</div>

يلخص الجدول المرجعي التالي كافة كلاسات وقواعد مجموعات الإدخال في Bootstrap 5.3:

الكلاس أو العنصرموضع التطبيقالقاعدة المعمارية والسلوك
.input-groupالحاوية الأب المرنةدمج الإضافات والحقول والأزرار المباشرة في شريط متصل واحد
.input-group-text<span> أو <label> أو <div>تنسيق البادئات واللواحق النصية أو احتضان .form-check-input.mt-0
.input-group-sm / lgالحاوية .input-groupتحجيم المجموعة كاملة دفعة واحدة دون كلاسات تحجيم فردية بالداخل
.flex-nowrapالحاوية .input-groupمنع التفاف البادئة أو الحقل إلى سطر جديد على الشاشات الضيقة
.btnابن مباشر داخل المجموعةإلحاق زر واحد أو أكثر مباشرة بالحقل دون تغليفه بـ .input-group-text
.form-select / fileابن مباشر داخل المجموعةدمج قوائم الاختيار وحقول الملفات مع تسميات أو أزرار إجراءات متصلة
خلاصة المعرفة ومحطة الانتقال

ملخص الدرس

حصاد الدرس

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

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

أتقنت في هذا الدرس بنية مجموعات الإدخال المسطحة .input-group في بوتستراب 5، وإلحاق البادئات واللواحق النصية، وضبط الأحجام الموحدة، ودمج مربعات الاختيار والحقول المتعددة والأزرار وقوائم الاختيار والملفات. الخطوة التالية: انتقل الآن إلى درس «التسميات العائمة في بوتستراب 5» لبناء حقول تتحرك تسمياتها بنعومة نحو الأعلى فور التركيز أو الكتابة.

مشاركة

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

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

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

المصطلحات4

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

0 / 4 مفهومةأول بطاقة، أول خطوة
01 Input Group Container حاوية مجموعة الإدخال
حاوية مرنة تدمج الحدود المتجاورة وتوحد استدارة الزوايا الخارجية بين الإضافات والحقول والأزرار المباشرة.
للمراجعة
02 Text Addon Element عنصر الإضافة النصية
عنصر مباشر يحمل كلاس .input-group-text لعرض رمز ثابت أو احتضان مربع اختيار بجانب الحقل.
للمراجعة
03 Direct Button Addon إضافة الزر المباشر
إدراج عنصر الزر <button class="btn"> كابن مباشر داخل .input-group دون وضعه داخل .input-group-text.
للمراجعة
04 Group-Level Sizing التحجيم الموحد للمجموعة
إضافة كلاس الحجم الصغير أو الكبير على الحاوية الأب لتكبير أو تصغير كافة الأبناء تلقائياً.
للمراجعة

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

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

الاختصارات4

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

0 / 4 مفهومةأول بطاقة، أول خطوة
01 CSS CSS
Cascading Style Sheets
أوراق الأنماط المتتالية — تعتمد على Flexbox والهامش السالب ومحددات الطفل الأول والأخير لدمج عناصر المجموعة بسلاسة.
للمراجعة
02 ARIA ARIA
Accessible Rich Internet Applications
تطبيقات الإنترنت الغنية المتاحة — تربط معرّف البادئة النصية بالحقل عبر aria-describedby لإعلان وحدة العملة أو النطاق صوتياً.
للمراجعة
03 RTL RTL
Right-to-Left
الاتجاه من اليمين إلى اليسار — يعكس تلقائياً الزوايا المستديرة والمربعة للطفل الأول والأخير داخل المجموعة في الواجهة العربية.
للمراجعة
04 URL URL
Uniform Resource Locator
محدد موقع الموارد الموحد — كثيراً ما يُقسّم في النماذج إلى بادئة ثابتة https:// بجانب حقل لإدخال الاسم المخصص.
للمراجعة

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

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

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

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

0/2مهام منجزة
  1. أنشئ حاوية .input-group-lg تضم بادئة "$" بكلاس .input-group-text وحقل أرقام .form-control ولاحقة ".00" مع عنصر .form-label خارج المجموعة.

  2. صمّم مجموعة .input-group تجمع حقل نص مع زر مباشر <button class="btn btn-primary">، ومجموعة ثانية تضم مربع اختيار .form-check-input.mt-0 داخل .input-group-text.

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

مساحة التحدي

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

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

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

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

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

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

كيف بسّط بوتستراب 5 بنية HTML الخاصة بمكون .input-group مقارنة بالإصدار الرابع؟

02

عند إلحاق زر <button class="btn btn-primary"> بمجموعة .input-group، يجب تغليف الزر داخل عنصر <span class="input-group-text">.

03

أين يُوضع كلاس التحجيم الكبير عند الرغبة في تكبير مجموعة إدخال كاملة؟

04

ما أداة الهامش المساعدة الموصى بإضافتها إلى .form-check-input داخل .input-group-text لتوسيط المربع عمودياً؟

05

يجب وضع عنصر تسمية الحقل الرئيسية <label class="form-label"> خارج حاوية .input-group وليس كعنصر بداخلها.

06

ما الكلاس المساعد الذي يمنع عناصر .input-group من الانكسار إلى سطر جديد على الشاشات الضيقة؟

07

هل تدعم حاوية .input-group واحدة وضع حقلَي .form-control متجاورين جنباً إلى جنب؟

08

لماذا يرفع بوتستراب قيمة z-index للحقل النشط عند التركيز عليه داخل .input-group؟