Estoy creando una aplicación basada en web y estoy usando Spring y Angular. Estoy escribiendo el front-end en la carpeta Angular, y tengo este código HTML para estar en cada página (app.component.html) - es un menú:
<div class="topnav"> <!-- Centered link --> <div class="topnav-centered"> </div> <div class="topnav-right"> <a routerLink="/home" >Home</a> <a routerLink="/login" >Login</a> <a routerLink="/register" >Register</a> </div> </div>Y tengo esto como css, por lo que está centrado y se ve bien.
.topnav { position: relative; background-color: #333; overflow: hidden; } .topnav a { float: left; color: #f2f2f2; text-align: center; padding: 14px 16px; text-decoration: none; font-size: 17px; } .topnav a:hover { background-color: #ddd; color: black; } .topnav-right { float: right; }¿Cómo hago para que cambie el color de los botones (Inicio, Iniciar sesión, Registrarse) cuando estoy en la página actual? (por ejemplo, cuando estoy en la página de inicio, el botón será verde, cuando esté en Inicio de sesión, será verde)
Puede usar routerLinkActive que agregará una clase CSS al elemento cuando la ruta esté activa.
<div class="topnav"> <!-- Centered link --> <div class="topnav-centered"> </div> <div class="topnav-right"> <a routerLink="/home" routerLinkActive="active-link">Home</a> <a routerLink="/login" routerLinkActive="active-link">Login</a> <a routerLink="/register" routerLinkActive="active-link">Register</a> </div> </div> .topnav-right a.active-link { color: #ff0000; }