Bird
Raised Fist0
Bootsrapmarkup~5 mins

Input groups in Bootsrap

Choose your learning style10 modes available
Introduction

Input groups help you add extra things like buttons or text next to input boxes. This makes forms easier to use and understand.

When you want to add a unit like $ or % next to a number input.
When you want a button right next to a text box for quick actions.
When you want to show a fixed prefix or suffix inside an input field.
When you want to group multiple inputs or buttons together neatly.
When you want to improve form layout and user experience.
Syntax
Bootsrap
<div class="input-group">
  <span class="input-group-text">Text or symbol</span>
  <input type="text" class="form-control" placeholder="Your input">
</div>
Use input-group as the container for grouping inputs and addons.
Use input-group-text for static text or symbols next to inputs.
Examples
Adds an '@' symbol before the input box for username.
Bootsrap
<div class="input-group">
  <span class="input-group-text">@</span>
  <input type="text" class="form-control" placeholder="Username">
</div>
Adds a dollar sign after the input box for money amounts.
Bootsrap
<div class="input-group">
  <input type="text" class="form-control" placeholder="Amount">
  <span class="input-group-text">$</span>
</div>
Places a button before the input box for quick search action.
Bootsrap
<div class="input-group">
  <button class="btn btn-primary" type="button">Go</button>
  <input type="text" class="form-control" placeholder="Search">
</div>
Sample Program

This example shows three input groups: one with '@' before the username input, one with '$' after the amount input, and one with a 'Go' button before the search input. It uses Bootstrap 5.3 for styling and accessibility features like labels and aria attributes.

Bootsrap
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>Bootstrap Input Groups Example</title>
  <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
  <main class="container mt-5">
    <h1>Input Groups Demo</h1>
    <form>
      <div class="mb-3">
        <label for="username" class="form-label">Username</label>
        <div class="input-group">
          <span class="input-group-text" id="basic-addon1">@</span>
          <input type="text" class="form-control" id="username" placeholder="Username" aria-label="Username" aria-describedby="basic-addon1">
        </div>
      </div>
      <div class="mb-3">
        <label for="amount" class="form-label">Amount</label>
        <div class="input-group">
          <input type="text" class="form-control" id="amount" placeholder="Amount" aria-label="Amount">
          <span class="input-group-text">$</span>
        </div>
      </div>
      <div class="mb-3">
        <label for="search" class="form-label">Search</label>
        <div class="input-group">
          <button class="btn btn-primary" type="button">Go</button>
          <input type="text" class="form-control" id="search" placeholder="Search" aria-label="Search">
        </div>
      </div>
    </form>
  </main>
  <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
</body>
</html>
OutputSuccess
Important Notes

Always use aria-label or aria-describedby for better accessibility.

Input groups work well with buttons, text, or icons to improve user experience.

Use Bootstrap's spacing classes like mb-3 to add space between form groups.

Summary

Input groups let you add text, symbols, or buttons next to inputs.

They improve form clarity and user interaction.

Bootstrap makes it easy to create input groups with simple classes.

Practice

(1/5)
1. What is the main purpose of Bootstrap input groups?
easy
A. To add text, symbols, or buttons next to input fields
B. To create dropdown menus
C. To style tables with borders
D. To add animations to buttons

Solution

  1. Step 1: Understand input groups concept

    Input groups in Bootstrap are used to add extra elements like text or buttons next to input fields to improve clarity and interaction.
  2. Step 2: Identify the correct purpose

    Options A, C, and D describe other Bootstrap features unrelated to input groups.
  3. Final Answer:

    To add text, symbols, or buttons next to input fields -> Option A
  4. Quick Check:

    Input groups add elements next to inputs = B [OK]
Hint: Input groups add stuff beside inputs, not menus or tables [OK]
Common Mistakes:
  • Confusing input groups with dropdown menus
  • Thinking input groups style tables
  • Assuming input groups add animations
2. Which Bootstrap class is used to create an input group container?
easy
A. btn-group
B. input-group
C. form-control
D. input-container

Solution

  1. Step 1: Recall Bootstrap input group structure

    The container for input groups uses the class input-group to wrap inputs and addons.
  2. Step 2: Differentiate from other classes

    form-control styles inputs, btn-group groups buttons, and input-container is not a Bootstrap class.
  3. Final Answer:

    input-group -> Option B
  4. Quick Check:

    Container class for input groups = input-group [OK]
Hint: Remember: input-group wraps inputs and addons [OK]
Common Mistakes:
  • Using form-control as container instead of input-group
  • Confusing btn-group with input-group
  • Using non-existent class input-container
3. What will this Bootstrap input group render?
<div class="input-group">
  <span class="input-group-text">@</span>
  <input type="text" class="form-control" placeholder="Username" />
</div>
medium
A. An input box with '@' as placeholder text
B. A button labeled '@' next to an input box
C. An input box with '@' symbol on the left inside a gray box
D. A plain input box with no extra elements

Solution

  1. Step 1: Analyze the input group structure

    The input-group-text inside the input-group adds a styled box with '@' before the input field.
  2. Step 2: Understand rendering result

    The '@' appears inside a gray box on the left side of the input box, not as a button or placeholder.
  3. Final Answer:

    An input box with '@' symbol on the left inside a gray box -> Option C
  4. Quick Check:

    input-group-text adds symbol box next to input = A [OK]
Hint: input-group-text adds styled text inside input group [OK]
Common Mistakes:
  • Thinking input-group-text creates a button
  • Confusing placeholder with input-group-text content
  • Ignoring the gray box styling around '@'
4. Identify the error in this Bootstrap input group code:
<div class="input-group">
  <input type="text" class="form-control" placeholder="Email" />
  <span class="input-group-btn">
    <button class="btn btn-primary" type="button">Send</button>
  </span>
</div>
medium
A. The class 'input-group-btn' is deprecated and should be replaced
B. The button tag is not allowed inside input groups
C. The input must come after the button
D. The placeholder attribute is invalid inside input groups

Solution

  1. Step 1: Check Bootstrap input group button usage

    Bootstrap 5 removed input-group-btn. Buttons inside input groups should be direct children with class btn.
  2. Step 2: Verify other options

    Buttons are allowed inside input groups, input can be before or after button, and placeholder is valid on inputs.
  3. Final Answer:

    The class 'input-group-btn' is deprecated and should be replaced -> Option A
  4. Quick Check:

    input-group-btn deprecated in Bootstrap 5 = D [OK]
Hint: Use btn class directly; input-group-btn is outdated [OK]
Common Mistakes:
  • Keeping input-group-btn class from older Bootstrap versions
  • Thinking buttons can't be inside input groups
  • Believing placeholder is invalid in input groups
5. You want to create an input group with a dropdown button on the right side of a text input. Which Bootstrap structure is correct?
hard
A.
Options
B.
Options
C.
Options
D.
Options

Solution

  1. Step 1: Understand input group with dropdown button

    The dropdown button must be a button with dropdown-toggle class and proper data-bs-toggle attribute inside the input group after the input.
  2. Step 2: Check structure correctness

    Options correctly places the input first, then the dropdown button with toggle attributes, followed by the dropdown menu list.
  3. Final Answer:

    This structure correctly creates an input group with a dropdown button on the right -> Option D
  4. Quick Check:

    Dropdown button after input with toggle attribute = A [OK]
Hint: Dropdown button needs toggle attribute and follows input inside input-group [OK]
Common Mistakes:
  • Placing dropdown menu before button
  • Using span instead of button for dropdown toggle
  • Putting button before input in input group
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard