Angular is one of the most popular frameworks for building static and dynamic web applications. One of the core features of Angular is the ngStyle directive, which allows developers to dynamically apply and change CSS styles to HTML elements. With ngStyle, developers can easily modify styling of HTML elements based on certain conditions or user interactions. In this article, we’ll take a closer look at the ngStyle directive in Angular.

What is ngStyle Directive:

The ngStyle Directive is a powerful Angular directive that allows developers to dynamically apply CSS styles to HTML elements based on certain conditions or user interactions. This directive is similar to the native HTML style attribute, but it has the advantage of using Angular’s built-in change detection capabilities.

How to Use ngStyle Directive:

Using ngStyle Directive is quite simple. First, we’ll create an HTML element to which we want to apply the style. Then, we’ll add the ngStyle directive to this element, and set its value to an object containing CSS properties and values that we want to apply to the element.

Here’s an example of how to use the ngStyle directive in Angular:



Hello, World!



import { Component } from ‘@angular/core’;

selector: ‘app-root’,
template: `

Hello, World!

export class AppComponent {
color = ‘red’;
size = 16;

changeColor() {
this.color = this.color === ‘red’ ? ‘green’ : ‘red’;

changeSize() {
this.size = this.size === 16 ? 24 : 16;

In the above example, we’ve used the ngStyle directive to apply background color and font size to our element. We’ve also added two buttons to our component that allow us to change the color and size of the element dynamically.


1. What are the advantages of using ngStyle directive in Angular?

The ngStyle directive has many advantages, including:

– The ability to apply and change multiple CSS properties at once.
– Dynamic styling based on certain conditions or user interactions.
– Built-in change detection capabilities, ensuring that styles are updated in real-time.
– Cleaner and more concise code compared to using the native HTML style attribute.

2. Can I use ngStyle with other Angular directives?

Yes, the ngStyle directive can be used in conjunction with other Angular directives, such as ngClass, ngIf, and ngSwitch.

3. Is it possible to specify multiple styles for a single property using ngStyle?

Yes, you can specify multiple values for a single property by providing an array of values. For example:


Hello, World!


4. Does ngStyle support CSS preprocessor like Sass or Less?

Yes, you can use CSS preprocessors like Sass or Less with ngStyle. Simply write your styles in Sass or Less syntax, and Angular will compile them down to regular CSS.


The ngStyle directive is a powerful tool for developers using Angular, allowing them to dynamically apply and change CSS styles to HTML elements. With its built-in change detection capabilities and ability to apply multiple styles at once, ngStyle can greatly simplify and streamline UI development. In this article, we’ve covered how to use the ngStyle directive in Angular, along with some common FAQs about the directive.

Similar Posts