Buttons are one of the most interactive and visually important elements on a web page. A stylish hover effect can improve user experience and add visual polish to your UI. In this post, we’ll create a CSS button that starts white and becomes transparent on hover, giving it a clean, modern feel.
🎯 Goal
We want to style a button that:
- Has a white background by default
- Transitions to a transparent background when hovered
- Optionally includes a border or text color for contrast
✅ HTML Structure
Here’s a simple HTML button:
<button class="white-to-transparent">Hover Me</button>
🎨 CSS Styling
Now let’s add the styles to make the transition from white to transparent smooth and elegant.
.white-to-transparent {
background-color: white;
color: black;
border: 2px solid black;
padding: 10px 20px;
font-size: 16px;
cursor: pointer;
transition: background-color 0.3s ease, color 0.3s ease;
}
.white-to-transparent:hover {
background-color: transparent;
color: black;
}
🧠 How It Works
background-color: white;
sets the initial button color.transition
makes the hover effect smooth.- On hover,
background-color: transparent;
fades the button background to transparent. - We keep the border and text color visible for accessibility and contrast.
🌈 Optional: Transparent Background + White Text
If your background is dark and you want white text and border, reverse the color scheme:
.white-to-transparent {
background-color: white;
color: black;
border: 2px solid white;
}
.white-to-transparent:hover {
background-color: transparent;
color: white;
}
💡 Don’t forget to set a suitable page background so the transparent hover reveals something stylish underneath!
📱 Responsive Tips
- Use
em
orrem
units for padding and font size to improve scalability. - Add media queries if you want to adjust button size or layout on smaller screens.
🧪 Full Example (Copy & Paste)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>White to Transparent Button</title>
<style>
body {
background-color: #f0f0f0;
text-align: center;
padding-top: 100px;
}
.white-to-transparent {
background-color: white;
color: black;
border: 2px solid black;
padding: 10px 20px;
font-size: 16px;
cursor: pointer;
transition: background-color 0.3s ease, color 0.3s ease;
}
.white-to-transparent:hover {
background-color: transparent;
}
</style>
</head>
<body>
<button class="white-to-transparent">Hover Me</button>
</body>
</html>
🧠 Final Thoughts
This white-to-transparent hover effect is simple to implement and easy to customize, making it perfect for modern websites, portfolios, or call-to-action buttons. With just a few lines of CSS, you can create a button that looks clean and interactive.