In uno script precedente abbiamo visto come sia possibile utilizzare un font personalizzato la direttiva @font-face di CSS3: https://www.html5italia.com/script/42/Font-Layout-Personalizzati-CSS3.aspx
Una tecnica molto diffusa per disegnare le icone, prevede di utilizzare un iconic font per le immagini, beneficiando della possibilità di adattare le stesse in maniera vettoriale, proprio come avverrebbe per un font "normale".
La presenza di diversi dispositivi con pixel-density differenti (es. display Retina) può infatti rendere necessario adottare alcuni accorgimenti per la gestione delle dimensioni di un immagine, come dimostrato nello script: https://www.html5italia.com/script/56/Adattare-Immagini-Base-Pixel-Density-HTML5-CSS3.aspx
Adottare un iconic font per la gestione delle immagini porta i seguenti benefici:
- portabilità e "peso" ridotto
- controllo dell'aspetto mediante css (icona, colore, dimensioni, ombreggiatura...)
- mantenimento dell'aspetto e dei dettagli a qualsiasi dimensione (scalable vector graphics)
- supporto dei display ad alta risoluzione
Esistono molteplici iconic font gratuiti e a pagamento che consentono diverse possibilità di estensione, nell'esempio abbiamo utilizzato Font Awesome disponibile qui: http://fortawesome.github.com/Font-Awesome/
Con gli iconic font si possono ottenere layout molto gradevoli e, soprattutto, portabili sui diversi tipi di display:

Di seguito lo script dell'esempio:
<!DOCTYPE html> <html> <head> <meta charset=utf-8 /> <title>Using iconic font</title> <link rel="stylesheet" href="https://raw.github.com/FortAwesome/Font-Awesome/master/css/font-awesome.min.css" type="text/css"/> </head> <body> <div class="headItem"> <span class="space1">Code</span> <span class="space2">Description</span> <span class="space1">Price</span></div> <div class="item"> <span class="space1">code1</span> <span class="space2">article one</span> <span class="space1">100.00 ¤</span> <a href="#" class="button addtocart"><i class="icon-shopping-cart icon-large" title="add"></i> add to cart</a> </div> <div class="item"> <span class="space1">code2</span> <span class="space2">article two</span> <span class="space1">120.00 ¤</span> <a href="#" class="button addtocart"><i class="icon-shopping-cart icon-large" title="add"></i> add to cart</a> </div> <div class="item"> <span class="space1">code3</span> <span class="space2">article three</span> <span class="space1">115.00 ¤</span> <a href="#" class="button addtocart"><i class="icon-shopping-cart icon-large" title="add"></i> add to cart</a> </div> <div class="footerItem"> <span class="space1"></span> <span class="space2"></span> <span class="space1"></span> <a href="#" class="button checkout"><i class="icon-arrow-right icon-large" title="add"></i> Checkout</a> </div> </body> </html>
body{
font-family: helvetica;
}
a:link{
text-decoration:none;
}
.button{
border-radius: 3px;
padding-left: 10px;
padding-right: 10px;
padding-top: 5px;
padding-bottom: 5px;
}
.checkout{
color:black;
background-color: gold;
}
.addtocart{
color: white;
background-color: dodgerblue;
}
.space1{
display:inline-block;
width:100px;
}
.space2{
display:inline-block;
width:200px;
}
.headItem{
border-bottom:2px solid gray;
padding:7px;
}
.item{
border-bottom:2px dotted gray;
padding:7px;
}
.footerItem{
margin-top:30px;
padding:7px;
}
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Gestione opzioni colonna nella Blazor QuickGrid
Migliorare accessibilità e interazioni nelle pagine HTML con gli attributi inert e autofocus
Microsoft Fabric: la piattaforma unificata per l'ecosistema dati moderno
Azure SQL Database per dev: tutte le novità da non perdere
Utilizzo delle Feature flag in ASP.NET Core
Personalizzare i parametri del CSS Scroll Snap
Impostare automaticamente l'altezza del font tramite CSS
Effettuare un clone parziale di un repository di GitHub
Interazione con ReconnectModal in Blazor
Ciclo di vita risorse con .NET Aspire
Migrare applicazioni legacy nel cloud con Azure App Service Managed Instance
Personalizzare le pagine di errore su Azure App Service


