Bird
Raised Fist0
Bootsrapmarkup~5 mins

Striped and hover tables in Bootsrap

Choose your learning style10 modes available
Introduction

Striped and hover tables make it easier to read rows by adding background colors and highlight effects. This helps users follow data across the table without losing their place.

When showing a list of items like products or users to improve readability.
When you want to highlight the row under the mouse pointer for better focus.
When displaying financial or statistical data where row clarity is important.
When you want a clean and modern look for your tables without extra CSS.
When you want to improve accessibility by visually separating rows.
Syntax
Bootsrap
<table class="table table-striped table-hover">
  <!-- table content -->
</table>

Use table-striped to add alternating background colors to rows.

Use table-hover to highlight a row when the mouse moves over it.

Examples
This table has alternating row colors but no hover effect.
Bootsrap
<table class="table table-striped">
  <!-- striped rows only -->
</table>
This table highlights rows on mouse hover but has no stripes.
Bootsrap
<table class="table table-hover">
  <!-- hover effect only -->
</table>
This table combines both striped rows and hover highlight.
Bootsrap
<table class="table table-striped table-hover">
  <!-- both striped and hover -->
</table>
Sample Program

This example shows a table with both striped rows and hover highlight using Bootstrap classes. The table is accessible with proper scope attributes and a descriptive aria-label. The container adds some spacing around the table.

Bootsrap
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1" />
  <title>Striped and Hover Table 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 my-4">
    <h1>Striped and Hover Table</h1>
    <table class="table table-striped table-hover" aria-label="Sample striped and hover table">
      <thead>
        <tr>
          <th scope="col">#</th>
          <th scope="col">Name</th>
          <th scope="col">Age</th>
          <th scope="col">City</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <th scope="row">1</th>
          <td>Alice</td>
          <td>28</td>
          <td>New York</td>
        </tr>
        <tr>
          <th scope="row">2</th>
          <td>Bob</td>
          <td>34</td>
          <td>Chicago</td>
        </tr>
        <tr>
          <th scope="row">3</th>
          <td>Carol</td>
          <td>22</td>
          <td>San Francisco</td>
        </tr>
      </tbody>
    </table>
  </main>
</body>
</html>
OutputSuccess
Important Notes

Always use <thead> and <tbody> for better structure and accessibility.

Use scope="col" on header cells and scope="row" on row headers for screen readers.

Bootstrap's table classes work well on all screen sizes and are responsive by default.

Summary

Striped tables add alternating background colors to rows for easier reading.

Hover tables highlight the row under the mouse pointer for focus.

Combine table-striped and table-hover classes on a <table> to get both effects easily.

Practice

(1/5)
1. What does the table-striped class do in a Bootstrap table?
easy
A. Adds alternating background colors to table rows for easier reading.
B. Highlights the row when you hover the mouse over it.
C. Makes the table borders thicker.
D. Changes the font style of the table text.

Solution

  1. Step 1: Understand the purpose of table-striped

    The table-striped class adds alternating background colors to rows, making it easier to read data across the table.
  2. Step 2: Differentiate from other classes

    The table-hover class highlights rows on mouse hover, which is different from table-striped.
  3. Final Answer:

    Adds alternating background colors to table rows for easier reading. -> Option A
  4. Quick Check:

    Striped = alternating row colors [OK]
Hint: Striped means alternating colors on rows [OK]
Common Mistakes:
  • Confusing striped with hover effect
  • Thinking it changes font or borders
  • Assuming it highlights on mouse hover
2. Which is the correct way to add both striped and hover effects to a Bootstrap table?
easy
A. <table class='table-striped-hover'>
B. <table class='table-hover table-striped'>
C. <table class='striped hover'>
D. <table class='table table-striped table-hover'>

Solution

  1. Step 1: Check Bootstrap class syntax

    Bootstrap requires the base table class plus additional classes separated by spaces, like table-striped and table-hover.
  2. Step 2: Validate correct class order and spelling

    <table class='table table-striped table-hover'> correctly uses class='table table-striped table-hover'. Order doesn't matter but all classes must be present and spelled correctly.
  3. Final Answer:

    <table class='table table-striped table-hover'> -> Option D
  4. Quick Check:

    Use base table plus both classes [OK]
Hint: Always include base 'table' class with modifiers [OK]
Common Mistakes:
  • Omitting the base 'table' class
  • Combining classes without spaces
  • Using incorrect class names
3. Given this HTML snippet, what visual effect will the table have?
<table class='table table-striped table-hover'>
  <tr><td>Row 1</td></tr>
  <tr><td>Row 2</td></tr>
  <tr><td>Row 3</td></tr>
</table>
medium
A. Rows alternate background colors and highlight on mouse hover.
B. Rows have no background color but highlight on mouse hover.
C. Rows alternate background colors but do not highlight on hover.
D. Table has no special background or hover effects.

Solution

  1. Step 1: Identify classes used

    The table uses table-striped and table-hover classes together.
  2. Step 2: Understand combined effects

    table-striped adds alternating row colors, and table-hover highlights the row under the mouse pointer.
  3. Final Answer:

    Rows alternate background colors and highlight on mouse hover. -> Option A
  4. Quick Check:

    Striped + Hover = alternating colors + highlight [OK]
Hint: Both classes combine their effects visually [OK]
Common Mistakes:
  • Thinking only one effect applies
  • Ignoring hover effect
  • Confusing hover with striped effect
4. What is wrong with this table code if the hover effect does not work?
<table class='table table-striped hover'>
  <tr><td>Data</td></tr>
</table>
medium
A. The table-striped class disables hover effect.
B. The table class is missing.
C. The class should be table-hover, not just hover.
D. Hover effect requires JavaScript to work.

Solution

  1. Step 1: Check class names

    The class hover alone is not a valid Bootstrap class for hover effect.
  2. Step 2: Correct class for hover effect

    The correct class is table-hover, which must be used with the base table class.
  3. Final Answer:

    The class should be table-hover, not just hover. -> Option C
  4. Quick Check:

    Hover effect needs table-hover class [OK]
Hint: Hover class must be 'table-hover' exactly [OK]
Common Mistakes:
  • Using 'hover' instead of 'table-hover'
  • Omitting 'table' base class
  • Assuming hover needs JavaScript
5. You want a table that has striped rows, highlights on hover, and also makes the header row stand out with a dark background. Which is the best way to achieve this using Bootstrap classes?
hard
A. <table class='table table-striped table-hover'> <thead class='table-header-dark'> ... </thead> </table>
B. <table class='table table-striped table-hover'> <thead class='table-dark'> ... </thead> </table>
C. <table class='table table-striped table-hover'> <thead class='thead-dark'> ... </thead> </table>
D. <table class='table table-striped table-hover table-dark'> ... </table>

Solution

  1. Step 1: Combine striped and hover classes on table

    Use table-striped and table-hover with the base table class for row effects.
  2. Step 2: Use correct class for dark header

    Bootstrap uses table-dark on the <thead> element to style the header with a dark background.
  3. Step 3: Verify other options

    table-dark on the whole table changes entire table style, not just header. thead-dark is deprecated in Bootstrap 5+. table-header-dark is not a valid class.
  4. Final Answer:

    <table class='table table-striped table-hover'> <thead class='table-dark'> ... </thead> </table> -> Option B
  5. Quick Check:

    Use table-dark on thead for dark header [OK]
Hint: Dark header uses 'table-dark' on thead element [OK]
Common Mistakes:
  • Applying 'table-dark' to whole table instead of header
  • Using deprecated 'thead-dark' class
  • Inventing non-existent classes like 'table-header-dark'
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