A smooth button interaction where icons slide and swap with a soft fade, while the label subtly shifts.
Right-click in Elementor, choose “Paste from another site,” and while the popup is open, press cmd/ctrl + v to insert the layout.
Paste the code through the page or site settings, or add it via Elementor → Custom Code before body tag.
/* transition */
[data-oura-button-04="icon-1"],
[data-oura-button-04="icon-2"],
[data-oura-button-04="label"] {
transition:
transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1),
opacity 0.3s ease-out;
}
/* default state */
[data-oura-button-04="icon-1"] {
transform: translateX(0);
opacity: 1;
}
[data-oura-button-04="icon-2"] {
transform: translateX(-50px);
opacity: 0;
}
[data-oura-button-04="label"] {
transform: translateX(0);
}
/* hover state */
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
[data-oura-button-04="button"]:hover [data-oura-button-04="icon-1"] {
transform: translateX(50px);
opacity: 0;
}
[data-oura-button-04="button"]:hover [data-oura-button-04="icon-2"] {
transform: translateX(0);
opacity: 1;
}
[data-oura-button-04="button"]:hover [data-oura-button-04="label"] {
transform: translateX(30px);
}
}
/* on click */
[data-oura-button-04="button"] {
transition: transform 0.2s ease;
}
[data-oura-button-04="button"]:active {
transform: scale(0.94);
}Some solutions only work on the live site. Always publish and test after each change, as results may not appear in the editor.