La tipografia nel web design ha sempre giocato un ruolo cruciale nella comunicazione visiva. Tuttavia, fino a pochi anni fa, i designer erano costretti a utilizzare diverse varianti statiche di un font (regular, bold, italic, ecc.). Con l'introduzione dei CSS variable font, la tipografia diventa più flessibile e reattiva, consentendo transizioni fluide tra spessori, larghezze e inclinazioni senza dover caricare più file di font.
Il punto di partenza è la creazione di una font-face la cui proprietà src punta ad un file appositamente creato per supportare questa casistica.
@font-face {
font-family: "Amstelvar VF";
src: url("https://mdn.github.io/shared-assets/fonts/variable-fonts/AmstelvarAlpha-VF.woff2")
format("woff2-variations");
font-weight: 300 900;
font-stretch: 35% 100%;
font-style: normal;
/* possibilità di supportare l'inclinazione tramite */
/* font-style: oblique 0deg 10deg; */
font-display: swap;
}Con questa definizione, il font supporta variazioni di peso da 300 a 900 e larghezza da 35% a 100%. Questa modalità di utilizzo porta a tre principali vantaggi
- Miglioramento performance: tutte le versioni dello stesso carattere sono contenute in un unico file
- Design adattabile: tramite le normali media-query possiamo modificare qualsiasi aspetto tipografico
- Gestione della visibilità: modifica della forma del testo sulla base del dipositivo da cui viene letto
Dopo aver definito una font-face, possiamo sfruttare le proprietà CSS per modificarne l'aspetto, così come siamo sempre stati abituati:
h1 {
font-family: 'Amstelvar VF', sans-serif;
font-weight: 700;
font-stretch: 100%;
}La peculiarità di questa tecnologia è il riadattamento fluido ai cambi di stile. Se eseguissimo il codice seguente, noteremmo che il feedback visivo è ben diverso rispetto ad impostare il font-weight: bold di un normale font, in quanto la modifica non sarà repentina, ma si svilupperà all'interno di un breve lasso di tempo.
:root {
--font-weight: 400;
}
h1 {
font-weight: var(--font-weight);
transition: font-weight 0.3s ease-in-out;
}
h1:hover {
--font-weight: 700;
}Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Cache temporanea in Javascript con oggetti
Gestione opzioni colonna nella Blazor QuickGrid
Usare la libreria PredicateBuilder per eseguire query tramite Entity Framework che usano or su più campi
Mischiare codice server side e client side in una query LINQ con Entity Framework
Come automatizzare il download dei report di billing da GitHub Enterprise
Usare il metodo nameof con un tipo generico in C# 14
Utilizzare ExecuteUpdate per aggiornare colonne JSON in Entity Framework
Integrare Agenti A2A in Azure API Management
Esporre workflow come server MCP con Azure Logic Apps
Utilizzare il Null conditional assignment di C# 14
Integrare OpenTelemetry direttamente in Azure Monitor
Dallo sviluppo locale ad Azure con .NET Aspire


