Fancy hover and focus effect at navigation items using transform CSS property.
:before pseudo-element at the list item anchor to create a hover effect, hide it using transform: scale(0).:hover and :focus pseudo-selectors to transition to transform: scale(1) and show the pseudo-element with its colored background.z-index: -1.<nav class="hover-nav"> <ul> <li><a href="#">Home</a></li> <li><a href="#">About</a></li> <li><a href="#">Contact</a></li> </ul> </nav>
.hover-nav ul { list-style: none; margin: 0; padding: 0; overflow: hidden; } .hover-nav li { float: left; } .hover-nav li a { position: relative; display: block; color: #222; text-align: center; padding: 8px 12px; text-decoration: none; } li a:before { position: absolute; content: ""; width: 100%; height: 100%; bottom: 0; left: 0; background-color: #f6c126; z-index: -1; transform: scale(0); transition: transform 0.5s ease-in-out; } li a:hover:before, li a:focus:before { transform: scale(1); }
Ⓒ Repository by
Code Honchos