8 Simple CSS Hover Effects to Enhance Your Beaver Builder Websites

September 26, 2025

Digital illustration of a person working on a laptop. There are words overlaid on top that say "8 Simple CSS Hover Effects to Enhance Your Beaver Builder Websites."

It’s the small interactions that really make a website feel professional. Subtle CSS hover effects are a great example. These lightweight micro interactions improve usability, highlight clickable elements, and add a touch of modern design without slowing your site down.

If you’re building sites with Beaver Builder, you can easily apply CSS hover effects to buttons, links, and images. Below you’ll find 8 simple hover effects with step-by-step instructions and ready-to-use CSS snippets.

How to Add Custom CSS in Beaver Builder

Before diving into the examples, let’s quickly cover how to apply custom CSS in Beaver Builder:

Global CSS:

  1. In WordPress, go to Appearance → Customize → Additional CSS.
  2. Paste your CSS here to apply across the whole site.

Per Module CSS:

  1. Open a module, row, or column in Beaver Builder.
  2. Go to Advanced → HTML Element → Class.
  3. Add a class name (e.g., hover-underline).
  4. Reference that class in your CSS.

Pro Tip: Keep a master stylesheet of reusable effects. It’ll save you hours across multiple projects.

1. CSS Hover Underline Animation for Heading Text

See the Pen Text Underline Hover Effect by Some Web Studio (@somewebstudio) on CodePen.

Option 1 – Left to Right

A sleek replacement for the default underline. Instead of instantly appearing, the line animates from left to right.

Step-by-Step:

1. Add a Heading module.

2. Wrap your link with a class. Paste this HTML into the Heading field (replace “Your Text Here” with your desired text):

<a href="#" class="hover-underline-left">Your Text Here</a>
Hover underline left

3. Paste this into your global CSS (update the background element with your desired underline color):

.fl-module-heading .fl-heading-text a.hover-underline-left {
	position: relative;
	display: inline-block;
	text-decoration: none;
	color: inherit;
}

.fl-module-heading .fl-heading-text a.hover-underline-left::after {
	content:"";
	position:absolute;
	left:0;
	bottom:-3px;
	height:2px;
	width:0;
	background:#f28c7c; /* underline color */
	transition:width .3s ease;
}

.fl-module-heading .fl-heading-text a.hover-underline-left:hover::after {
	width:100%;
}

Option 2 – Center Start

Here’s another option where the underline starts in the center and animates outward.

Step-by-Step:

1. Add a Heading module.

2. Wrap your link with a class. Paste this HTML into the Heading field (replace “Your Text Here” with your desired text):

<a href="#" class="hover-underline-center">Your Text Here</a>
Hover underline center

3. Paste this into your global CSS (update the background element with your desired underline color):

.fl-module-heading .fl-heading-text a.hover-underline-center {
	position: relative;
	text-decoration: none;
	color: inherit;
}

.fl-module-heading .fl-heading-text a.hover-underline-center::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -3px;
	width: 100%;
	height: 2px;
	background: #f28c7c; /* underline color */
	transform: scaleX(0);
	transform-origin: center;
	transition: transform 0.3s ease;
}

.fl-module-heading .fl-heading-text a.hover-underline-center:hover::after {
	transform: scaleX(1);
}

Option 3 – Right to Left

With this option the line animates from right to left.

Step-by-Step:

1. Add a Heading module.

2. Wrap your link with a class. Paste this HTML into the Heading field (replace “Your Text Here” with your desired text):

<a href="#" class="hover-underline-right">Your Text Here</a>
Hover underline right

3. Paste this into your global CSS (update the background element with your desired underline color):

.fl-module-heading .fl-heading-text a.hover-underline-right {
	position: relative;
	text-decoration: none;
	color: inherit;
}

.fl-module-heading .fl-heading-text a.hover-underline-right::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -3px;
	width: 100%;
	height: 2px;
	background: #f28c7c; /* underline color */
	transform: scaleX(0);
	transform-origin: right;
	transition: transform 0.3s ease;
}

.fl-module-heading .fl-heading-text a.hover-underline-right:hover::after {
	transform: scaleX(1);
}

2. CSS Hover Underline Animation for Button Text

See the Pen Untitled by Some Web Studio (@somewebstudio) on CodePen.

Option 1 – Left to Right

Here’s how to use the animated underline on button text, with the line animating from left to right.

Step-by-Step:

1. Add a Button module.

2. Wrap your link with a class. Paste this HTML into the Text field (replace “Your Text Here” with your desired text):

<span class="btn-text-underline-left">Your Text Here</span>
Hover underline button left

3. Paste this into your global CSS (update the background element with your desired underline color):

.fl-module-button .fl-button .btn-text-underline-left {
	position: relative;
	display: inline-block;
	text-decoration: none;
	color: inherit;
}

.fl-module-button .fl-button .btn-text-underline-left::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -3px;
	width: 0;
	height: 2px;
	background: #f28c7c; /* underline color */
	transition: width 0.3s ease;
}

.fl-module-button .fl-button:hover .btn-text-underline-left::after {
	width: 100%;
}

Option 2 – Center Start

Here’s the code for an underline that starts in the center and grows outward, updated for button text.

Step-by-Step:

1. Add a Button module.

2. Wrap your link with a class. Paste this HTML into the Text field (replace “Your Text Here” with your desired text):

<span class="btn-text-underline-center">Your Text Here</span>
Hover underline button center

3. Paste this into your global CSS (update the background element with your desired underline color):

.fl-module-button .fl-button .btn-text-underline-center {
	position: relative;
	display: inline-block;
}

.fl-module-button .fl-button .btn-text-underline-center::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -3px;
	width: 100%;
	height: 2px;
	background: #f28c7c; /* underline color */
	transform: scaleX(0);
	transform-origin: center;
	transition: transform 0.3s ease;
}

.fl-module-button .fl-button:hover .btn-text-underline-center::after {
	transform: scaleX(1);
}

Option 3 – Right to Left

Finally, here’s the code to animate the underline from right to left, updated for button text.

Step-by-Step:

1. Add a Button module.

2. Wrap your link with a class. Paste this HTML into the Text field (replace “Your Text Here” with your desired text):

<span class="btn-text-underline-right">Your Text Here</span>
Hover underline right

3. Paste this into your global CSS (update the background element with your desired underline color):

.fl-module-button .fl-button .btn-text-underline-right {
	position: relative;
	display: inline-block;
}

.fl-module-button .fl-button .btn-text-underline-right::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -3px;
	width: 100%;
	height: 2px;
	background: #f28c7c; /* underline color */
	transform: scaleX(0);
	transform-origin: right;
	transition: transform 0.3s ease;
}

.fl-module-button .fl-button:hover .btn-text-underline-right::after {
	transform: scaleX(1);
}

3. Gradient Shift on Text

Turn plain text into animated gradient text when hovered.

See the Pen Text Gradient Shift by Some Web Studio (@somewebstudio) on CodePen.

Step-by-Step:

1. Add a Text Editor or Heading module.

2. Wrap the text in a span with a class (replace “Your Text Here” with your desired text):

<span class="gradient-text-hover">Your Text Here</span>
Hover animated gradient

3. Paste this into your global CSS (update the background element with your desired gradient colors):

.gradient-text-hover {
	text-decoration: none;
	transition: color 0.4s ease,
	background-position 0.6s ease;
	background: linear-gradient(45deg, #E262AB, #6F9EF4, #4CE3D9); /* gradient colors */
	background-size: 200%;
	background-position: left;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

.gradient-text-hover:hover {
	background-position: right;
	color: transparent;
}

4. Gradient Shift on Buttons

Highlight CTAs with a moving gradient background.

See the Pen Button Gradient Shift by Some Web Studio (@somewebstudio) on CodePen.

Step-by-Step:

1. Add a Button module.

2. Under Advanced → HTML Element → Class, add gradient-btn.

Gradient btn class

3. Remove any background color set inside the module.

4. Paste this into your global CSS (replace the colors inside the background-image element with your desired gradient colors):

.fl-module-button.gradient-btn .fl-button {
	background-image: linear-gradient(45deg, #E262AB, #6F9EF4, #4CE3D9) !important; /* gradient colors */
	background-size: 200% 100% !important;
	background-position: left center !important;
	background-color: transparent !important;
	transition: background-position 0.5s ease,
	color 0.5s ease;
}

.fl-module-button.gradient-btn .fl-button:hover,
.fl-module-button.gradient-btn .fl-button:focus {
	background-position: right center !important;
}

5. Button Icon Slide

Adds an animation for a button icon that slides to the right when hovered.

See the Pen Button Icon Slide by Some Web Studio (@somewebstudio) on CodePen.

Step-by-Step:

1. Add a Button module with an icon.

2. Under Advanced → HTML Element → Class, add btn-icon-slide.

Btn icon slide class

3. Paste this into your global CSS:

.fl-module-button.btn-icon-slide .fl-button {
	color: inherit;
	border: none;
	display: inline-flex;
	align-items: center;
}

.fl-module-button.btn-icon-slide .fl-button i,
.fl-module-button.btn-icon-slide .fl-button svg {
	transition: transform 0.3s ease;
}

.fl-module-button.btn-icon-slide .fl-button:hover i,
.fl-module-button.btn-icon-slide .fl-button:hover svg {
	transform: translateX(5px);
}

6. CSS Image Zoom on Hover

Apply a subtle zoom-in effect to images when hovered. Perfect for portfolios or blog thumbnails.

See the Pen Image Zoom Hover Effect by Some Web Studio (@somewebstudio) on CodePen.

Step-by-Step:

1. Add a Photo module.

2. Under Advanced → HTML Element → Class, add zoom-wrap.

Zoom wrap class

3. Paste this into your global CSS:

.zoom-wrap {
	overflow: hidden;
	display: inline-block;
}

.zoom-wrap img {
	transition: transform 0.4s ease;
	display: block;
}

.zoom-wrap:hover img {
	transform: scale(1.1);
}

7. Image Caption Overlay Reveal

Replaces the default caption hover with a smooth sliding animation.

See the Pen Image Caption Reveal by Some Web Studio (@somewebstudio) on CodePen.

Step-by-Step:

1. Add a Photo module.

2. Find your image in the Media Library and add your desired text to the Caption field.

Media library caption

3. In General → Caption, select the “On Hover” option.

Show caption on hover

4. In Advanced → HTML Element → Class, add: caption-overlay

Caption overlay class

5. Paste this into your global CSS (there are several settings you can tweak based on your preferences: background, color, font-family, font-size, and font-weight):

.fl-module-photo.caption-overlay .fl-photo-content {
	position: relative;
	overflow: hidden;
}

.fl-module-photo.caption-overlay .fl-photo-img {
	display: block;
	width: 100%;
	height: auto;
}

.fl-module-photo.caption-overlay .fl-photo-caption {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	margin: 0;
	padding: 1rem;
	background: rgba(0,0,0,0.6); /* caption background color */
	color: #fff; /* caption text color */
	font-family: Arial, sans-serif; /* update to desired font family */
	font-size: 1.5rem; /* update to desired font size */
	font-weight: 500; /* update to desired font weight */
	transform: translateY(100%);
	opacity: 0;
	transition: transform .3s ease,
	opacity .3s ease;
}

.fl-module-photo.caption-overlay .fl-photo-content:hover .fl-photo-caption {
	transform: translateY(0);
	opacity: 1;
}

8. Image Blur with Text Reveal

On hover, the image blurs and overlay text fades in.

See the Pen Image Blur + Text Reveal by Some Web Studio (@somewebstudio) on CodePen.

Step-by-Step:

1. Add a Photo module.

2. Find your image in the Media Library and add your desired text to the Caption field.

Media library caption

3. In General → Caption, select the “On Hover” option.

Show caption on hover

4. In Advanced → HTML Element → Class, add: blur-reveal

Blur reveal class

5. Paste this into your global CSS (there are several settings you can tweak based on your preferences: background, color, font-family, font-size, and font-weight):

.fl-module-photo.blur-reveal .fl-photo-content {
	position: relative;
	overflow: hidden;
}

.fl-module-photo.blur-reveal .fl-photo-img {
	display: block;
	width: 100%;
	height: auto;
	transition: filter .3s ease;
}

.fl-module-photo.blur-reveal .fl-photo-content:hover .fl-photo-img {
	filter: blur(4px);
}

.fl-module-photo.blur-reveal .fl-photo-caption {
	position: absolute;
	inset: 0;
	margin: 0;
	padding: 1rem;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(0,0,0,0.35); /* caption background color */
	color: #fff; /* caption text color */
	font-family: Arial, sans-serif; /* update to desired font family */
	font-size: 1.5rem; /* update to desired font size */
	font-weight: 500; /* update to desired font weight */
	opacity: 0;
	transition: opacity .3s ease;
}

.fl-module-photo.blur-reveal .fl-photo-content:hover .fl-photo-caption {
	opacity: 1;
}

Best Practices for Hover Effects

  • Don’t overdo it: Pick 2–3 effects for key CTAs or visuals.
  • Be consistent: Use the same style across similar elements.
  • Check accessibility: Ensure text remains readable with overlays or gradients.
  • Test on mobile: Hover doesn’t exist on touch screens, so hover effects shouldn’t be the only indicator of interaction.

Check Out Our Premium Beaver Builder Templates

Adding CSS hover effects is one of the easiest ways to upgrade your Beaver Builder sites. Whether you want a css hover underline for links, a css image zoom for portfolios, or interactive css button animations for CTAs, these micro interactions will make your designs feel modern and professional.

If you want to save even more time, explore Beaver Templates’ collection of professionally designed Beaver Builder website templates. They’re optimized for speed, SEO, and customization, and with effects like these, you’ll have client sites that look amazing and convert better.

For more css animation examples and inspiration, check out these links:

Resources

Popular Templates

Affiliate Content Disclosure

This content may contain affiliate links that will take you to other websites. If you visit such websites and make a purchase, we’ll receive a commission from the seller. The amount you pay for the product or service doesn’t increase.

These affiliate commissions help us generate more free content for our members. This includes: templates, tutorials, and plugins.

View Disclosure

WordPress Hosting

New templates

You can build your website, today!

We provide the right tools, tutorials, and templates to get you on the right track today! You can sign up, download your templates, and follow our guided tutorials on setting up your very first website!

Join our newsletter

Get actionable insights, free resources, and expert tips to grow your business and improve your website. Plus, get instant access to our free ebook, "The Ultimate Website Optimization Checklist," and start improving your website’s performance today.

Beaver Templates | Newsletter
Scroll to Top