Bootstrap 5.3.8 • Chapter 23 • Responsive LTR + RTL
Input Groups
Every topic includes its own Bootstrap coding example, explanation, ten teaching examples, expected result, practice, and responsive Persian/Arabic checks.
23.1 input-group
input-group is part of Bootstrap 5.3.8 covered in Chapter 23. Read the Bootstrap class names as a layer over CSS layout, spacing, components, utilities, and JavaScript behavior rather than as magic syntax. The example uses Bootstrap classes or APIs directly so you can connect the class name to its visual or interactive result.
For input-group in Chapter 23, inspect the DOM structure, Bootstrap class names, responsive breakpoint, and any data-bs attributes or JavaScript initialization. When Google Translate is active, also verify that longer labels wrap and the correct LTR or RTL Bootstrap stylesheet is enabled.
Test input-group at phone, tablet, laptop, and wide-screen sizes. Then translate the example to Persian and Arabic, increase browser zoom, and inspect whether rows, columns, forms, menus, overlays, and labels remain inside the viewport.
Concept in plain language
input-group is part of Bootstrap 5.3.8 covered in Chapter 23. Read the Bootstrap class names as a layer over CSS layout, spacing, components, utilities, and JavaScript behavior rather than as magic syntax.
10 teaching examples
Example 1: Minimal component
Build the smallest lesson page that demonstrates input-group. Keep the Bootstrap classes visible in the markup and explain which class provides the behavior. Chapter 23, topic 1, example 1.
Example 2: Responsive variation
Add a breakpoint-specific class to the admin page example for input-group. Compare the mobile layout with the tablet or desktop layout. Chapter 23, topic 1, example 2.
Example 3: Long translation
Replace a short English label in the booking page with a much longer translated label while using input-group. Confirm wrapping does not widen the viewport. Chapter 23, topic 1, example 3.
Example 4: Persian test
Translate the course page to Persian. Verify start/end spacing, text alignment, component direction, and that the Bootstrap RTL stylesheet is active. Chapter 23, topic 1, example 4.
Example 5: Arabic test
Translate the dashboard to Arabic. Check buttons, forms, dropdowns, navigation, and offcanvas placement for correct RTL behavior. Chapter 23, topic 1, example 5.
Example 6: Accessibility review
Use input-group in the profile screen and verify semantic HTML, accessible names, keyboard interaction, focus visibility, and status messaging. Chapter 23, topic 1, example 6.
Example 7: Content stress
Add long text, nested controls, wide media, and narrow viewport width to the checkout. Adjust the Bootstrap structure without hiding meaningful content. Chapter 23, topic 1, example 7.
Example 8: Utility comparison
Rebuild one part of the contact form using Bootstrap utilities instead of custom CSS, then compare readability and maintainability. Chapter 23, topic 1, example 8.
Example 9: JavaScript-state test
If input-group uses Bootstrap JavaScript, test open, close, focus, disposal, and repeated initialization in the article. If not, verify the example works without JavaScript. Chapter 23, topic 1, example 9.
Example 10: Production review
Review input-group in the settings panel for breakpoints, RTL, Google Translate, zoom, keyboard use, performance, and maintainable class choices. Chapter 23, topic 1, example 10.
Bootstrap coding example
<div class="input-group"><span class="input-group-text">@</span><input class="form-control" aria-label="Username"></div>Step-by-step code explanation
- Identify the Bootstrap class, data attribute, or JavaScript API used for input-group.
- Read the HTML nesting first. Bootstrap components often depend on a specific relationship between wrappers, controls, and content.
- Resize the viewport and observe which responsive classes become active at each breakpoint.
- Translate the visible content. Long labels must wrap, .row children must be able to shrink, and tables should use a local responsive wrapper instead of widening the page.
- Switch to Persian or Arabic and confirm that the page has dir=rtl, Bootstrap's RTL stylesheet is active, start/end utilities behave correctly, and code examples remain LTR.
Expected result: The browser demonstrates input-group with responsive behavior. Persian and Arabic use RTL layout without creating page-wide horizontal scrolling; genuinely wide code or tables scroll locally.
Practice exercise
Build a new Bootstrap 5.3.8 example for input-group from Chapter 23. Test it at 320px, 768px, and desktop width, translate its visible text to Persian and Arabic, and explain which Bootstrap classes or JavaScript API create the final behavior.
23.2 Text Addons
Text Addons is part of Bootstrap 5.3.8 covered in Chapter 23. Read the Bootstrap class names as a layer over CSS layout, spacing, components, utilities, and JavaScript behavior rather than as magic syntax. The example uses Bootstrap classes or APIs directly so you can connect the class name to its visual or interactive result.
For Text Addons in Chapter 23, inspect the DOM structure, Bootstrap class names, responsive breakpoint, and any data-bs attributes or JavaScript initialization. When Google Translate is active, also verify that longer labels wrap and the correct LTR or RTL Bootstrap stylesheet is enabled.
Test Text Addons at phone, tablet, laptop, and wide-screen sizes. Then translate the example to Persian and Arabic, increase browser zoom, and inspect whether rows, columns, forms, menus, overlays, and labels remain inside the viewport.
Concept in plain language
Text Addons is part of Bootstrap 5.3.8 covered in Chapter 23. Read the Bootstrap class names as a layer over CSS layout, spacing, components, utilities, and JavaScript behavior rather than as magic syntax.
10 teaching examples
Example 1: Minimal component
Build the smallest booking page that demonstrates Text Addons. Keep the Bootstrap classes visible in the markup and explain which class provides the behavior. Chapter 23, topic 2, example 1.
Example 2: Responsive variation
Add a breakpoint-specific class to the course page example for Text Addons. Compare the mobile layout with the tablet or desktop layout. Chapter 23, topic 2, example 2.
Example 3: Long translation
Replace a short English label in the dashboard with a much longer translated label while using Text Addons. Confirm wrapping does not widen the viewport. Chapter 23, topic 2, example 3.
Example 4: Persian test
Translate the profile screen to Persian. Verify start/end spacing, text alignment, component direction, and that the Bootstrap RTL stylesheet is active. Chapter 23, topic 2, example 4.
Example 5: Arabic test
Translate the checkout to Arabic. Check buttons, forms, dropdowns, navigation, and offcanvas placement for correct RTL behavior. Chapter 23, topic 2, example 5.
Example 6: Accessibility review
Use Text Addons in the contact form and verify semantic HTML, accessible names, keyboard interaction, focus visibility, and status messaging. Chapter 23, topic 2, example 6.
Example 7: Content stress
Add long text, nested controls, wide media, and narrow viewport width to the article. Adjust the Bootstrap structure without hiding meaningful content. Chapter 23, topic 2, example 7.
Example 8: Utility comparison
Rebuild one part of the settings panel using Bootstrap utilities instead of custom CSS, then compare readability and maintainability. Chapter 23, topic 2, example 8.
Example 9: JavaScript-state test
If Text Addons uses Bootstrap JavaScript, test open, close, focus, disposal, and repeated initialization in the gallery. If not, verify the example works without JavaScript. Chapter 23, topic 2, example 9.
Example 10: Production review
Review Text Addons in the support page for breakpoints, RTL, Google Translate, zoom, keyboard use, performance, and maintainable class choices. Chapter 23, topic 2, example 10.
Bootstrap coding example
<div class="input-group"><span class="input-group-text">https://</span><input class="form-control"></div>Step-by-step code explanation
- Identify the Bootstrap class, data attribute, or JavaScript API used for Text Addons.
- Read the HTML nesting first. Bootstrap components often depend on a specific relationship between wrappers, controls, and content.
- Resize the viewport and observe which responsive classes become active at each breakpoint.
- Translate the visible content. Long labels must wrap, .row children must be able to shrink, and tables should use a local responsive wrapper instead of widening the page.
- Switch to Persian or Arabic and confirm that the page has dir=rtl, Bootstrap's RTL stylesheet is active, start/end utilities behave correctly, and code examples remain LTR.
Expected result: The browser demonstrates Text Addons with responsive behavior. Persian and Arabic use RTL layout without creating page-wide horizontal scrolling; genuinely wide code or tables scroll locally.
Practice exercise
Build a new Bootstrap 5.3.8 example for Text Addons from Chapter 23. Test it at 320px, 768px, and desktop width, translate its visible text to Persian and Arabic, and explain which Bootstrap classes or JavaScript API create the final behavior.
23.3 Button Addons
Button Addons is part of Bootstrap 5.3.8 covered in Chapter 23. Read the Bootstrap class names as a layer over CSS layout, spacing, components, utilities, and JavaScript behavior rather than as magic syntax. The example uses Bootstrap classes or APIs directly so you can connect the class name to its visual or interactive result.
For Button Addons in Chapter 23, inspect the DOM structure, Bootstrap class names, responsive breakpoint, and any data-bs attributes or JavaScript initialization. When Google Translate is active, also verify that longer labels wrap and the correct LTR or RTL Bootstrap stylesheet is enabled.
Test Button Addons at phone, tablet, laptop, and wide-screen sizes. Then translate the example to Persian and Arabic, increase browser zoom, and inspect whether rows, columns, forms, menus, overlays, and labels remain inside the viewport.
Concept in plain language
Button Addons is part of Bootstrap 5.3.8 covered in Chapter 23. Read the Bootstrap class names as a layer over CSS layout, spacing, components, utilities, and JavaScript behavior rather than as magic syntax.
10 teaching examples
Example 1: Minimal component
Build the smallest dashboard that demonstrates Button Addons. Keep the Bootstrap classes visible in the markup and explain which class provides the behavior. Chapter 23, topic 3, example 1.
Example 2: Responsive variation
Add a breakpoint-specific class to the profile screen example for Button Addons. Compare the mobile layout with the tablet or desktop layout. Chapter 23, topic 3, example 2.
Example 3: Long translation
Replace a short English label in the checkout with a much longer translated label while using Button Addons. Confirm wrapping does not widen the viewport. Chapter 23, topic 3, example 3.
Example 4: Persian test
Translate the contact form to Persian. Verify start/end spacing, text alignment, component direction, and that the Bootstrap RTL stylesheet is active. Chapter 23, topic 3, example 4.
Example 5: Arabic test
Translate the article to Arabic. Check buttons, forms, dropdowns, navigation, and offcanvas placement for correct RTL behavior. Chapter 23, topic 3, example 5.
Example 6: Accessibility review
Use Button Addons in the settings panel and verify semantic HTML, accessible names, keyboard interaction, focus visibility, and status messaging. Chapter 23, topic 3, example 6.
Example 7: Content stress
Add long text, nested controls, wide media, and narrow viewport width to the gallery. Adjust the Bootstrap structure without hiding meaningful content. Chapter 23, topic 3, example 7.
Example 8: Utility comparison
Rebuild one part of the support page using Bootstrap utilities instead of custom CSS, then compare readability and maintainability. Chapter 23, topic 3, example 8.
Example 9: JavaScript-state test
If Button Addons uses Bootstrap JavaScript, test open, close, focus, disposal, and repeated initialization in the event page. If not, verify the example works without JavaScript. Chapter 23, topic 3, example 9.
Example 10: Production review
Review Button Addons in the analytics page for breakpoints, RTL, Google Translate, zoom, keyboard use, performance, and maintainable class choices. Chapter 23, topic 3, example 10.
Bootstrap coding example
<div class="input-group"><input class="form-control"><button class="btn btn-outline-secondary">Search</button></div>Step-by-step code explanation
- Identify the Bootstrap class, data attribute, or JavaScript API used for Button Addons.
- Read the HTML nesting first. Bootstrap components often depend on a specific relationship between wrappers, controls, and content.
- Resize the viewport and observe which responsive classes become active at each breakpoint.
- Translate the visible content. Long labels must wrap, .row children must be able to shrink, and tables should use a local responsive wrapper instead of widening the page.
- Switch to Persian or Arabic and confirm that the page has dir=rtl, Bootstrap's RTL stylesheet is active, start/end utilities behave correctly, and code examples remain LTR.
Expected result: The browser demonstrates Button Addons with responsive behavior. Persian and Arabic use RTL layout without creating page-wide horizontal scrolling; genuinely wide code or tables scroll locally.
Practice exercise
Build a new Bootstrap 5.3.8 example for Button Addons from Chapter 23. Test it at 320px, 768px, and desktop width, translate its visible text to Persian and Arabic, and explain which Bootstrap classes or JavaScript API create the final behavior.
23.4 Multiple Inputs
Multiple Inputs is part of Bootstrap 5.3.8 covered in Chapter 23. Read the Bootstrap class names as a layer over CSS layout, spacing, components, utilities, and JavaScript behavior rather than as magic syntax. The example uses Bootstrap classes or APIs directly so you can connect the class name to its visual or interactive result.
For Multiple Inputs in Chapter 23, inspect the DOM structure, Bootstrap class names, responsive breakpoint, and any data-bs attributes or JavaScript initialization. When Google Translate is active, also verify that longer labels wrap and the correct LTR or RTL Bootstrap stylesheet is enabled.
Test Multiple Inputs at phone, tablet, laptop, and wide-screen sizes. Then translate the example to Persian and Arabic, increase browser zoom, and inspect whether rows, columns, forms, menus, overlays, and labels remain inside the viewport.
Concept in plain language
Multiple Inputs is part of Bootstrap 5.3.8 covered in Chapter 23. Read the Bootstrap class names as a layer over CSS layout, spacing, components, utilities, and JavaScript behavior rather than as magic syntax.
10 teaching examples
Example 1: Minimal component
Build the smallest checkout that demonstrates Multiple Inputs. Keep the Bootstrap classes visible in the markup and explain which class provides the behavior. Chapter 23, topic 4, example 1.
Example 2: Responsive variation
Add a breakpoint-specific class to the contact form example for Multiple Inputs. Compare the mobile layout with the tablet or desktop layout. Chapter 23, topic 4, example 2.
Example 3: Long translation
Replace a short English label in the article with a much longer translated label while using Multiple Inputs. Confirm wrapping does not widen the viewport. Chapter 23, topic 4, example 3.
Example 4: Persian test
Translate the settings panel to Persian. Verify start/end spacing, text alignment, component direction, and that the Bootstrap RTL stylesheet is active. Chapter 23, topic 4, example 4.
Example 5: Arabic test
Translate the gallery to Arabic. Check buttons, forms, dropdowns, navigation, and offcanvas placement for correct RTL behavior. Chapter 23, topic 4, example 5.
Example 6: Accessibility review
Use Multiple Inputs in the support page and verify semantic HTML, accessible names, keyboard interaction, focus visibility, and status messaging. Chapter 23, topic 4, example 6.
Example 7: Content stress
Add long text, nested controls, wide media, and narrow viewport width to the event page. Adjust the Bootstrap structure without hiding meaningful content. Chapter 23, topic 4, example 7.
Example 8: Utility comparison
Rebuild one part of the analytics page using Bootstrap utilities instead of custom CSS, then compare readability and maintainability. Chapter 23, topic 4, example 8.
Example 9: JavaScript-state test
If Multiple Inputs uses Bootstrap JavaScript, test open, close, focus, disposal, and repeated initialization in the account page. If not, verify the example works without JavaScript. Chapter 23, topic 4, example 9.
Example 10: Production review
Review Multiple Inputs in the lesson page for breakpoints, RTL, Google Translate, zoom, keyboard use, performance, and maintainable class choices. Chapter 23, topic 4, example 10.
Bootstrap coding example
<div class="input-group"><span class="input-group-text">Name</span><input class="form-control" aria-label="First"><input class="form-control" aria-label="Last"></div>Step-by-step code explanation
- Identify the Bootstrap class, data attribute, or JavaScript API used for Multiple Inputs.
- Read the HTML nesting first. Bootstrap components often depend on a specific relationship between wrappers, controls, and content.
- Resize the viewport and observe which responsive classes become active at each breakpoint.
- Translate the visible content. Long labels must wrap, .row children must be able to shrink, and tables should use a local responsive wrapper instead of widening the page.
- Switch to Persian or Arabic and confirm that the page has dir=rtl, Bootstrap's RTL stylesheet is active, start/end utilities behave correctly, and code examples remain LTR.
Expected result: The browser demonstrates Multiple Inputs with responsive behavior. Persian and Arabic use RTL layout without creating page-wide horizontal scrolling; genuinely wide code or tables scroll locally.
Practice exercise
Build a new Bootstrap 5.3.8 example for Multiple Inputs from Chapter 23. Test it at 320px, 768px, and desktop width, translate its visible text to Persian and Arabic, and explain which Bootstrap classes or JavaScript API create the final behavior.
23.5 Input Group Sizing
Input Group Sizing is part of Bootstrap 5.3.8 covered in Chapter 23. Read the Bootstrap class names as a layer over CSS layout, spacing, components, utilities, and JavaScript behavior rather than as magic syntax. The example uses Bootstrap classes or APIs directly so you can connect the class name to its visual or interactive result.
For Input Group Sizing in Chapter 23, inspect the DOM structure, Bootstrap class names, responsive breakpoint, and any data-bs attributes or JavaScript initialization. When Google Translate is active, also verify that longer labels wrap and the correct LTR or RTL Bootstrap stylesheet is enabled.
Test Input Group Sizing at phone, tablet, laptop, and wide-screen sizes. Then translate the example to Persian and Arabic, increase browser zoom, and inspect whether rows, columns, forms, menus, overlays, and labels remain inside the viewport.
Concept in plain language
Input Group Sizing is part of Bootstrap 5.3.8 covered in Chapter 23. Read the Bootstrap class names as a layer over CSS layout, spacing, components, utilities, and JavaScript behavior rather than as magic syntax.
10 teaching examples
Example 1: Minimal component
Build the smallest article that demonstrates Input Group Sizing. Keep the Bootstrap classes visible in the markup and explain which class provides the behavior. Chapter 23, topic 5, example 1.
Example 2: Responsive variation
Add a breakpoint-specific class to the settings panel example for Input Group Sizing. Compare the mobile layout with the tablet or desktop layout. Chapter 23, topic 5, example 2.
Example 3: Long translation
Replace a short English label in the gallery with a much longer translated label while using Input Group Sizing. Confirm wrapping does not widen the viewport. Chapter 23, topic 5, example 3.
Example 4: Persian test
Translate the support page to Persian. Verify start/end spacing, text alignment, component direction, and that the Bootstrap RTL stylesheet is active. Chapter 23, topic 5, example 4.
Example 5: Arabic test
Translate the event page to Arabic. Check buttons, forms, dropdowns, navigation, and offcanvas placement for correct RTL behavior. Chapter 23, topic 5, example 5.
Example 6: Accessibility review
Use Input Group Sizing in the analytics page and verify semantic HTML, accessible names, keyboard interaction, focus visibility, and status messaging. Chapter 23, topic 5, example 6.
Example 7: Content stress
Add long text, nested controls, wide media, and narrow viewport width to the account page. Adjust the Bootstrap structure without hiding meaningful content. Chapter 23, topic 5, example 7.
Example 8: Utility comparison
Rebuild one part of the lesson page using Bootstrap utilities instead of custom CSS, then compare readability and maintainability. Chapter 23, topic 5, example 8.
Example 9: JavaScript-state test
If Input Group Sizing uses Bootstrap JavaScript, test open, close, focus, disposal, and repeated initialization in the admin page. If not, verify the example works without JavaScript. Chapter 23, topic 5, example 9.
Example 10: Production review
Review Input Group Sizing in the booking page for breakpoints, RTL, Google Translate, zoom, keyboard use, performance, and maintainable class choices. Chapter 23, topic 5, example 10.
Bootstrap coding example
<div class="input-group input-group-lg"><span class="input-group-text">$</span><input class="form-control"></div>Step-by-step code explanation
- Identify the Bootstrap class, data attribute, or JavaScript API used for Input Group Sizing.
- Read the HTML nesting first. Bootstrap components often depend on a specific relationship between wrappers, controls, and content.
- Resize the viewport and observe which responsive classes become active at each breakpoint.
- Translate the visible content. Long labels must wrap, .row children must be able to shrink, and tables should use a local responsive wrapper instead of widening the page.
- Switch to Persian or Arabic and confirm that the page has dir=rtl, Bootstrap's RTL stylesheet is active, start/end utilities behave correctly, and code examples remain LTR.
Expected result: The browser demonstrates Input Group Sizing with responsive behavior. Persian and Arabic use RTL layout without creating page-wide horizontal scrolling; genuinely wide code or tables scroll locally.
Practice exercise
Build a new Bootstrap 5.3.8 example for Input Group Sizing from Chapter 23. Test it at 320px, 768px, and desktop width, translate its visible text to Persian and Arabic, and explain which Bootstrap classes or JavaScript API create the final behavior.
Chapter 23 review — 10 questions and answers
1. What should you inspect when input-group does not behave as expected?
Answer: Check the Bootstrap classes, breakpoint, DOM structure, loaded CSS version, and any JavaScript data attributes involved in input-group. Then inspect computed styles to see which declaration wins.
2. How should input-group be tested before publishing?
Answer: Test input-group on narrow and wide screens, with long translated text, in Persian and Arabic RTL mode, at increased zoom, and with keyboard navigation where the component is interactive.
3. What should you inspect when Text Addons does not behave as expected?
Answer: Check the Bootstrap classes, breakpoint, DOM structure, loaded CSS version, and any JavaScript data attributes involved in Text Addons. Then inspect computed styles to see which declaration wins.
4. How should Text Addons be tested before publishing?
Answer: Test Text Addons on narrow and wide screens, with long translated text, in Persian and Arabic RTL mode, at increased zoom, and with keyboard navigation where the component is interactive.
5. What should you inspect when Button Addons does not behave as expected?
Answer: Check the Bootstrap classes, breakpoint, DOM structure, loaded CSS version, and any JavaScript data attributes involved in Button Addons. Then inspect computed styles to see which declaration wins.
6. How should Button Addons be tested before publishing?
Answer: Test Button Addons on narrow and wide screens, with long translated text, in Persian and Arabic RTL mode, at increased zoom, and with keyboard navigation where the component is interactive.
7. What should you inspect when Multiple Inputs does not behave as expected?
Answer: Check the Bootstrap classes, breakpoint, DOM structure, loaded CSS version, and any JavaScript data attributes involved in Multiple Inputs. Then inspect computed styles to see which declaration wins.
8. How should Multiple Inputs be tested before publishing?
Answer: Test Multiple Inputs on narrow and wide screens, with long translated text, in Persian and Arabic RTL mode, at increased zoom, and with keyboard navigation where the component is interactive.
9. What should you inspect when Input Group Sizing does not behave as expected?
Answer: Check the Bootstrap classes, breakpoint, DOM structure, loaded CSS version, and any JavaScript data attributes involved in Input Group Sizing. Then inspect computed styles to see which declaration wins.
10. How should Input Group Sizing be tested before publishing?
Answer: Test Input Group Sizing on narrow and wide screens, with long translated text, in Persian and Arabic RTL mode, at increased zoom, and with keyboard navigation where the component is interactive.