Siamo quasi giunti alla fine di questa mini guida per rendere il nostro template CSS un po' più nostro. All'appello non dimentichiamo però il menù in cima alla pagina che, insieme al logo, è uno degli strumenti più importanti in un layout web dato che accompagnerà l'utente per tutta la navigazione e lo aiuterà a spostarsi tra le sezioni.
Molti framework forniscono un design minimale, composto da tag a che cambiano sfumatura di colore al passaggio del mouse. Noi però vogliamo di più, vogliamo rendere più chiara la possibilità di navigare verso quella sezione. Per questo motivo inseriamo, all'interno dell'after del contenitore una linea vuota di larghezza 0, che diventerà 100% tramite l'effetto hover.
<!-- [...] --> <div class="collapse navbar-collapse" id="navbarNav"> <ul class="navbar-nav ms-auto"> <li class="nav-item"> <a class="nav-link active" aria-current="page" href="#">Home</a> </li> <li class="nav-item"> <a class="nav-link" href="#">Link</a> </li> </ul> </div> <!-- [...] -->
.nav-link { position: relative; display: inline-block; } .nav-link::after { content: ''; position: absolute; left: 0; bottom: 0; width: 0; height: 2px; background-color: #007bff; transition: width 0.3s ease; } .nav-link:hover::after { width: 100%; }
Se all'interno del menù abbiamo delle icone, possiamo anche prevedere una loro animazione, analogamente a quanto abbiamo visto negli script precedenti.
<i class="fas fa-home custom-icon"></i>
.custom-icon { transition: transform 0.3s ease, color 0.3s ease; color: #007bff; } .custom-icon:hover { transform: scale(1.2) rotate(10deg); color: #ff5722; }
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Gestione CSS in Blazor con .NET 9
Configurare lo startup di applicazioni server e client con .NET Aspire
Utilizzare il metodo IntersectBy per eseguire l'intersection di due liste
Scrivere selettori CSS più semplici ed efficienti con :is()
Creare una libreria CSS universale: i bottoni
Utilizzare l'espressione if inline in una pipeline di Azure DevOps
Testare l'invio dei messaggi con Event Hubs Data Explorer
Simulare Azure Cosmos DB in locale con Docker
Collegare applicazioni server e client con .NET Aspire
Gestire eccezioni nei plugin di Semantic Kernel in ASP.NET Core Web API
Abilitare automaticamente il force push di un gruppo su Azure DevOps
Gestione dei nomi con le regole @layer in CSS
I più letti di oggi
- Usare i settings di serializzazione/deserializzazione di System.Text.Json di ASP.NET all'interno di un'applicazione non web
- .NET Conference Italia 2025 - Milano
- The Agentic Day - Milano
- Gestione ciclo di vita in .NET Aspire
- Documentare i servizi REST con Swagger e OpenAPI con .NET 9
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!