La possibilità di cambiare tra un tema "light" e uno "dark", sembra ormai una prerogativa necessaria per ogni sito. Tanto che, se utilizziamo un tema scuro come default, sembrerà strano navigare all'interno di siti che hanno il bianco come colore di sfondo.
Attraverso i CSS e il controllo della media query prefers-color-scheme, possiamo facilmente identificare l'impostazione di default del dispositivo che sta mostrando la pagina web e adattare il tema di conseguenza. La logica che scriveremo si baserà sull'impostare dei valori all'interno di variabili CSS che verranno utilizzate all'interno del foglio di stile.
/* Light */
:root {
--body-bg: #FFFFFF;
--body-color: #000000;
}
/* Dark */
@media (prefers-color-scheme: dark) {
:root {
--body-bg: #000000;
--body-color: #FFFFFF;
}
}In questo modo il tema di default sarà quello light, a meno che lo user-agent non specifichi la richiesta di un tema dark. Avremmo potuto indicare una media query unicamente per il tema light, ma come la documentazione dice: in futuro potrebbero aggiungersi ulteriori colori, quindi per precauzione utilizziamo il light come default.
Ora non resta altro che utilizzare le variabili, come mostrato in questo esempio.
body {
background: var(--body-bg);
color: var(--body-color);
}Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Ospitare n8n su Azure App Service
Arricchire l'interfaccia di .NET Aspire
Nuove validazioni Form Blazor
Keynote .NET Conference Italia 2025
Semplificare i deployment con le label in Azure Container App
Il nuovo persistent state in Blazor
Gestire il routing HTTP in Azure Container App
Impostare il tipo di supporto dei campi Json in Entity Framework con Sql Server
Creare comandi nella dashboard .NET Aspire
Utilizzare WebJobs su Linux con Azure App Service
Importare un servizio esterno in .NET Aspire
Integrare OpenAI tramite Aspire
I più letti di oggi
- Community Days 2010: applicazioni con Windows Phone 7
- .NET Campus: Creare applicazioni veloci e user-friendly con jQuery, Microsoft AJAX Library e ASP.NET
- Le novità di ASP.NET 4.5
- Le novità di .NET 7 e C# 11
- Webcast 'AJAX & ATLAS Overview'
- Windows Phone 7.5 Developer Day: costruire app con Visual Studio 2010 e Windows Phone Runtime




