Nella maggior parte dei casi, la classe css che applichiamo a un controllo è più che sufficiente a stilizzarlo. Tuttavia, esistono casi in cui in vogliamo applicare anche degli stili inline tramite l'attributo HTML style in base a determinate condizioni. Angular ci permette di aggiungere dinamicamente uno stile ad un controllo tramite la direttiva ngStyle.
Questa direttiva accetta in input un oggetto dove ogni proprietà corrisponde al nome dello stile CSS che vogliamo applicare, e il valore della proprietà corrisponde al valore dello stile. Il codice HTML è banale in quanto dobbiamo mettere in binding la direttiva con una proprietà del component (styles in questo caso).
<div [ngStyle]="styles">Questo div ha stili dinamici da binding</div>
Nel component, dobbiamo valorizzare la proprietà in base alle nostre necessità.
styles: {};
...
setStyles() {
this.styles = {
'background-color': this.soldOut ? 'red' : 'white';
};
}Grazie a questa tecnica possiamo applicare stili CSS dinamicamente, senza dover creare tante piccole classi CSS per ogni possibile combinazione di dati.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Stop Building Chatbots. Build a team
Avviare rapidamente un container con Azure Container Apps Express
Ottimizzare i costi con Smart tier in Azure Blob Storage
Cambiamenti in OpenAPI per la documentazione di ASP.NET
Utilizzo del persistent state di Blazor nel prerendering
Raggruppamento degli aggiornamenti di dipendenze tra directory in un monorepo con Dependabot
Esporre un server MCP esistente con Azure API Management
Ottimizzare la content-visibility in CSS specificando lo spazio da occupato dall'area non renderizzata
Integrazione di Copilot in .NET Aspire
Utilizzare il top layer in HTML
Importare un servizio esterno in .NET Aspire
Abilitare .NET 10 su Azure App Service e Azure Functions


