In this tutorial, I’ll show you how to create an eye-catching card hover effect on your WordPress Elementor website—without any external plugins! This effect works flawlessly on both desktop & mobile and is super easy to implement.
Following is the CSS code used in Image Box Widget:
selector{
transform: translateY(-50%);
}
Following is the CSS code used in Image Hover Effect (on Section):
selector{
--border-width: 2px;
--color: #FFB400;
--angle: -7deg;
}
selector.e-con,
selector.e-con .e-con-inner{
align-items: center;
}
selector .elementor-widget-divider .elementor-widget-container{
overflow: hidden;
transition: all 0.3s ease-in-out;
}
selector .elementor-widget-divider .elementor-divider,
selector .elementor-widget-divider .elementor-widget-container{
position: relative;
}
selector .elementor-widget-divider .elementor-widget-container:before,
selector .elementor-widget-divider .elementor-widget-container:after,
selector .elementor-widget-divider .elementor-divider:before,
selector .elementor-widget-divider .elementor-divider:after{
content: "";
position: absolute;
background: var(--color);
}
selector .elementor-widget-divider .elementor-widget-container:before,
selector .elementor-widget-divider .elementor-widget-container:after{
height: var(--border-width);
width: 100%;
transform: scaleX(0);
}
selector .elementor-widget-divider .elementor-widget-container:before{
top: 0;
transform-origin: right;
}
selector .elementor-widget-divider .elementor-widget-container:after{
bottom: 0;
transform-origin: left;
}
selector .elementor-widget-divider .elementor-divider:before,
selector .elementor-widget-divider .elementor-divider:after{
height: 100%;
width: var(--border-width);
transform: scaleY(0);
}
selector .elementor-widget-divider .elementor-divider:before{
left: 0;
transform-origin: top;
}
selector .elementor-widget-divider .elementor-divider:after{
right: 0;
transform-origin: bottom;
}
selector .elementor-column,
selector .e-con{
transition: all 0.3s ease-in-out;
}
selector .elementor-column:hover,
selector .e-con:hover{
transform: translateY(-15px);
}
selector .elementor-column img,
selector .e-con img{
transition: all 0.3s ease-in-out;
}
selector .elementor-column:hover img,
selector .e-con:hover img{
box-shadow: 0px 20px 20px 0px rgb(0 0 0 / 40%);
}
selector .elementor-widget-image-box .elementor-widget-container{
opacity: 0;
transition: all 0.3s ease-in-out;
transform: translateY(10px);
}
selector .elementor-column:hover .elementor-widget-image-box .elementor-widget-container,
selector .e-con:hover .elementor-widget-image-box .elementor-widget-container{
opacity: 1;
transform: none;
transition-delay: 0.3s;
}
selector .elementor-column:hover .elementor-widget-divider .elementor-widget-container,
selector .e-con:hover .elementor-widget-divider .elementor-widget-container{
background: var(--color);
transform: rotate(var(--angle));
transition-delay: 0.3s;
}
selector .elementor-column:hover .elementor-widget-divider .elementor-widget-container:before,
selector .elementor-column:hover .elementor-widget-divider .elementor-widget-container:after,
selector .e-con:hover .elementor-widget-divider .elementor-widget-container:before,
selector .e-con:hover .elementor-widget-divider .elementor-widget-container:after{
transform: scaleX(100%);
transition: all 0.5s ease-in-out;
}
selector .elementor-column:hover .elementor-widget-divider .elementor-divider:before,
selector .elementor-column:hover .elementor-widget-divider .elementor-divider:after,
selector .e-con:hover .elementor-widget-divider .elementor-divider:before,
selector .e-con:hover .elementor-widget-divider .elementor-divider:after{
transform: scaleY(100%);
transition: all 0.5s ease-in-out;
}
@media(max-width: 1024px){
selector .elementor-widget-wrap,
selector .e-con{
width: 360px;
max-width: 100%;
margin-left: auto !important;
margin-right: auto !important;
}
selector.e-con,
selector.e-con .e-con-inner{
flex-direction: column;
}
selector .elementor-column:hover,
selector .e-con:hover{
transform: none;
}
}
@media(max-width: 767px){
selector .elementor-widget-divider .elementor-divider-separator{
border-top-width: 350px;
}
}
Following is the CSS code used in Columns :
selector{
--color: #FF0000;
}
5/5 - (5 votes)