What This CSS Code Does:
This button uses Elementor’s HTML widget to create an awesome hover effect that displays multiple arrows using SVG code.
Using the CSS property transform: skew(-15deg) on the button outline to create that skewed effect and then 15deg positive to compensate, making the text straight.
Required Plugins:
Elements Used:

How To Implement:
Place the Elementor Display Widget in desired location. Copy and paste the HTML code into the widget. To set the width of the element go to Advanced>Positioning. Set Width to Custom and then set the desired width.
The text for the button is in the third line of code. You can also easily change the background colors, box shadow color, and the font family in order to better match the branding on your website.

Next, copy and paste the CSS code into the custom CSS area of the element: Advanced>Custom CSS.

The HTML Code:
The CSS Code:
.cta {
display: flex;
padding: 15px 20px;
text-decoration: none;
font-family: ‘Futura PT’, sans-serif;
font-style: italic;
font-weight: bold;
font-size: 40px;
color: white;
background: #0AEEF4;
transition: 1s;
box-shadow: 6px 6px 0 #DF017D !important;
transform: skewX(-15deg);
justify-content: center;
}
.cta:focus {
outline: none;
}
.cta:hover {
transition: 0.5s;
box-shadow: 10px 10px 0 #FFF225 !important;
color: #fff;
}
.cta .skewed:nth-child(2) {
transition: 0.5s;
margin-right: 0px;
}
.cta:hover .skewed:nth-child(2) {
transition: 0.5s;
margin-right: 45px;
}
.skewed {
transform: skewX(15deg)
}
.skewed:nth-child(2) {
width: 20px;
margin-left: 30px;
position: relative;
top: 12%;
}
/**************SVG****************/
path.one {
transition: 0.4s;
transform: translateX(-60%);
}
path.two {
transition: 0.5s;
transform: translateX(-30%);
}
.cta:hover path.three {
animation: color_anim 1s infinite 0.2s;
}
.cta:hover path.one {
transform: translateX(0%);
animation: color_anim 1s infinite 0.6s;
}
.cta:hover path.two {
transform: translateX(0%);
animation: color_anim 1s infinite 0.4s;
}
/* SVG animations */
@keyframes color_anim {
0% {
fill: white;
}
50% {
fill: #FFF225;
}
100% {
fill: white;
}
}
One Response
Hi there,
Thanks for the awsome button design! When i paste the code in an html element like you explain i can see the great looking button in my elementor canvas.
However when i check the page on the front end i can only see the code show up in the container and not the button. Could you tell me what could be wrong? I have deactivated all plugins except elementor and updated everything in a staging site that wasn’t it 🙂
Here is a vid to show you what i am seeing: https://www.loom.com/share/8cea349aa8764e1a8bbab1cf9d84feb1
Kind regards,
Dominic