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
Utilizzare gRPC su App Service di Azure
Usare i servizi di Azure OpenAI e ChatGPT in ASP.NET Core con Semantic Kernel
Creare gruppi di client per Event Grid MQTT
Managed deployment strategy in Azure DevOps
Introduzione alle Container Queries
Aggiornare a .NET 9 su Azure App Service
Escludere alcuni file da GitHub Secret Scanning
Sfruttare gli embedding e la ricerca vettoriale con Azure SQL Database
Scrivere selettori CSS più semplici ed efficienti con :is()
Conoscere il rendering Server o WebAssembly a runtime in Blazor
Eliminare una project wiki di Azure DevOps
Collegare applicazioni server e client con .NET Aspire