.tf { position: relative; z-index: 1; transition: color 0.3s ease-out; transition: opacity 0.5s ease-in-out; } .tf:before { background: rgb(162, 254, 254); background: linear-gradient( 90deg, rgba(162, 254, 254, 1) 0%, rgba(249, 187, 250, 1) 25%, rgba(250, 250, 250, 1) 50%, rgba(249, 187, 250, 1) 75%, rgba(162, 254, 254, 1) 100% ); content: ''; width: 100%; height: 100%; top: 0; left: 0; position: absolute; z-index: -1; opacity: 0; transition: all 0.5s; } .tf:hover:before { opacity: 1; }