Bird
Raised Fist0
Tailwindmarkup~5 mins

Hover variant in Tailwind

Choose your learning style10 modes available
Introduction

The hover variant lets you change how an element looks when you move your mouse over it. This helps users know what they can click or interact with.

You want a button to change color when someone points at it with the mouse.
You want links to underline only when hovered to keep the page clean.
You want images to zoom in slightly when hovered to show detail.
You want to highlight menu items as the mouse moves over them.
You want to show hidden text or icons only on hover for a neat design.
Syntax
Tailwind
hover:<utility-class>
Use hover: before any Tailwind utility to apply styles on mouse hover.
You can combine multiple hover utilities like hover:bg-blue-500 hover:text-white.
Examples
The button background turns blue when hovered.
Tailwind
<button class="hover:bg-blue-500">Click me</button>
The link gets underlined only when hovered.
Tailwind
<a href="#" class="hover:underline">Link</a>
The text color changes to red on hover.
Tailwind
<div class="hover:text-red-600">Hover over me</div>
Sample Program

This page shows a green button that becomes darker green when you hover your mouse over it. It also has focus styles for keyboard users.

Tailwind
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1" />
  <title>Hover Variant Example</title>
  <script src="https://cdn.tailwindcss.com"></script>
</head>
<body class="flex items-center justify-center min-h-screen bg-gray-100">
  <button class="px-6 py-3 bg-green-400 text-white font-semibold rounded-md hover:bg-green-700 focus:outline-none focus:ring-2 focus:ring-green-600" aria-label="Submit button">
    Submit
  </button>
</body>
</html>
OutputSuccess
Important Notes

Hover effects only work with devices that have a mouse or pointer. On touch devices, hover styles usually do not apply.

Always include focus styles for accessibility so keyboard users can see which element is focused.

You can combine hover with other variants like focus or active for richer interactions.

Summary

The hover variant changes styles when the mouse is over an element.

Use hover: before Tailwind classes to apply hover styles.

Hover helps users understand what can be clicked or interacted with.

Practice

(1/5)
1. What does the hover: prefix do in Tailwind CSS?
easy
A. Applies styles only when the mouse is over the element
B. Applies styles permanently to the element
C. Removes styles when the mouse is over the element
D. Applies styles only on mobile devices

Solution

  1. Step 1: Understand the hover variant purpose

    The hover: prefix in Tailwind applies styles only when the mouse pointer is over the element.
  2. Step 2: Compare options with this behavior

    Only Applies styles only when the mouse is over the element describes applying styles on mouse hover, others describe permanent or unrelated behavior.
  3. Final Answer:

    Applies styles only when the mouse is over the element -> Option A
  4. Quick Check:

    hover: means on mouse hover [OK]
Hint: Hover prefix means styles activate on mouse hover [OK]
Common Mistakes:
  • Thinking hover applies styles permanently
  • Confusing hover with focus or active states
  • Assuming hover works only on mobile
2. Which of the following is the correct Tailwind syntax to change text color to blue on hover?
easy
A. text-hover-blue-500
B. hover:text-blue-500
C. hover:blue-text-500
D. text-blue-500-hover

Solution

  1. Step 1: Recall Tailwind hover syntax

    The correct syntax uses hover: prefix followed by the utility class, e.g., hover:text-blue-500.
  2. Step 2: Check each option

    Only hover:text-blue-500 matches the correct pattern. Others have incorrect order or invalid class names.
  3. Final Answer:

    hover:text-blue-500 -> Option B
  4. Quick Check:

    hover: + utility class = correct syntax [OK]
Hint: hover: always comes before the utility class [OK]
Common Mistakes:
  • Placing hover after the utility class
  • Mixing words in the class name
  • Using invalid Tailwind color names
3. What will happen when you hover over this button?
<button class="bg-gray-300 hover:bg-green-400 text-black p-2 rounded">Click me</button>
medium
A. Button text color changes to green on hover
B. Button background stays gray on hover
C. Button background changes from gray to green on hover
D. Button disappears on hover

Solution

  1. Step 1: Analyze the classes

    The button has bg-gray-300 for background normally and hover:bg-green-400 for background on hover.
  2. Step 2: Understand hover effect

    When hovered, the background color changes from gray to green. Text color remains black.
  3. Final Answer:

    Button background changes from gray to green on hover -> Option C
  4. Quick Check:

    hover:bg-green-400 changes background on hover [OK]
Hint: hover:bg- changes background color on hover [OK]
Common Mistakes:
  • Thinking text color changes instead of background
  • Assuming no change happens on hover
  • Confusing hover:bg with hover:text
4. Identify the error in this Tailwind class usage:
<div class="hover:bg-red-500 hovertext-white p-4">Alert</div>
medium
A. Extra space inside class attribute
B. Incorrect color name 'red-500'
C. Using hover on a div is invalid
D. Missing colon in second hover class

Solution

  1. Step 1: Check each hover class syntax

    The first class hover:bg-red-500 is correct. The second class hovertext-white is missing a colon after hover.
  2. Step 2: Confirm correct syntax

    The correct class should be hover:text-white with a colon separating hover and the utility.
  3. Final Answer:

    Missing colon in second hover class -> Option D
  4. Quick Check:

    hover: must separate variant and utility [OK]
Hint: hover: must always have a colon before utility [OK]
Common Mistakes:
  • Omitting colon after hover
  • Using invalid color names
  • Thinking hover can't be used on div
5. You want a button that is gray normally, turns blue on hover, and shows white text only on hover. Which class list achieves this?
hard
A. bg-gray-400 hover:bg-blue-600 text-gray-800 hover:text-white p-3 rounded
B. bg-gray-400 bg-hover-blue-600 text-white hover:text-gray-800 p-3 rounded
C. bg-gray-400 hover:bg-blue-600 hover-text-white text-gray-800 p-3 rounded
D. bg-gray-400 hover:bg-blue-600 text-white hover:text-white p-3 rounded

Solution

  1. Step 1: Identify normal and hover background colors

    Normal background should be gray (bg-gray-400), hover background blue (hover:bg-blue-600).
  2. Step 2: Identify text colors

    Normal text is gray (text-gray-800), hover text is white (hover:text-white).
  3. Step 3: Check each option

    bg-gray-400 hover:bg-blue-600 text-gray-800 hover:text-white p-3 rounded matches all requirements with correct syntax. Others have wrong class names or order.
  4. Final Answer:

    bg-gray-400 hover:bg-blue-600 text-gray-800 hover:text-white p-3 rounded -> Option A
  5. Quick Check:

    hover: prefix changes styles on mouse hover [OK]
Hint: Use hover: before both bg and text classes for hover styles [OK]
Common Mistakes:
  • Using incorrect hover syntax like hover-text-white
  • Setting text color to white normally instead of on hover
  • Mixing up hover:bg and bg-hover
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