Doplax.Dev
  • Inicio
  • Conóceme
  • Blog
  • Experiencia
  • Contacto
  • Inicio
  • Conóceme
  • Blog
  • Experiencia
  • Contacto

¿Tienes un proyecto en mente o quieres saludar?

Contáctame

© 2026 Doplax.Dev — Todos los derechos reservados.

September 5, 2024

¿Qué es la directiva ngStyle en Angular y cómo usarla?

  • Angular

En Angular, una de las ventajas principales es la capacidad de manipular el DOM de manera dinámica y eficiente. Uno de los recursos más poderosos para manejar estilos dinámicos es la directiva [ngStyle], que permite aplicar estilos en línea de forma programática a elementos HTML, similar a cómo usarías el atributo style en HTML puro, pero con más flexibilidad.

¿Qué es [ngStyle]?

[ngStyle] es una directiva de Angular que te permite asignar estilos en línea a un elemento, pero con una diferencia clave: los valores de los estilos se pueden asignar de manera dinámica, es decir, pueden depender de variables, funciones o condiciones definidas dentro de tu componente.

Ejemplo básico

Imagina que tienes una variable en tu componente que define un color, y deseas aplicarla dinámicamente a un texto. Aquí tienes cómo hacerlo:

export class MyComponent {
  dynamicColor = 'blue';
}

En el HTML, puedes utilizar [ngStyle] para aplicar ese color al texto de la siguiente manera:

<div [ngStyle]="{'color': dynamicColor}">
  Este texto será azul.
</div>

En este ejemplo, el valor de la propiedad color se establece dinámicamente según la variable dynamicColor de tu componente.

¿Cómo funciona [ngStyle]?

La sintaxis de [ngStyle] consiste en un objeto en el que cada clave representa una propiedad CSS y cada valor es la expresión que determina el valor de esa propiedad.

<div [ngStyle]="{'nombre-de-propiedad': 'valor'}"></div>

Esto significa que puedes utilizar cualquier propiedad de CSS (como color, background-color, width, etc.) y asignarle cualquier valor basado en variables o expresiones de tu componente.

Ejemplo avanzado

Ahora, veamos un ejemplo donde aplicamos múltiples estilos dinámicos al mismo tiempo:

<div [ngStyle]="{'color': dynamicTextColor, 'background-color': dynamicBgColor}">
  Texto con estilos dinámicos
</div>

Aquí dynamicTextColor y dynamicBgColor son variables en el componente que pueden cambiar, y esos valores se aplicarán dinámicamente al color y background-color del <div>.

Diferencias entre [ngStyle] y el atributo style

  • Atributo style: Se usa para aplicar estilos en línea de forma estática, es decir, los valores son fijos y no cambian durante la ejecución de la aplicación.
<div style="color: red; background-color: yellow;">
  Texto con estilo estático.
</div>
  • Directiva [ngStyle]: Permite aplicar estilos de manera dinámica, modificándolos en función de las variables o el estado actual del componente.
<div [ngStyle]="{'color': dynamicColor, 'background-color': dynamicBgColor}">
  Texto con estilo dinámico.
</div>

Ventajas de usar [ngStyle]

  • Estilos dinámicos: Es ideal para situaciones en las que los estilos deben cambiar según condiciones o variables de tu componente.
  • Control total: Te da un control preciso sobre los estilos, sin necesidad de agregar o quitar clases CSS.
  • Fácil de usar: Permite manejar estilos condicionales sin sobrecargar el HTML con demasiadas clases o dependencias en hojas de estilo.

Resumen

[ngStyle] es una herramienta esencial en Angular para aplicar estilos de manera dinámica y programática a tus elementos HTML. Ofrece flexibilidad para controlar los estilos basados en el estado o las variables de tu componente, brindando una solución más robusta y adaptable que el uso de estilos estáticos en línea.

Anterior¿Qué es bind(this) y cómo funciona en JavaScript?SiguienteMejores frameworks de BackEnd ordenados según su rendimiento (2024)

Posts relacionados

  • Data Binding en Angular: qué es, tipos y cómo funciona realmenteAngular
  • Comandos para la creación de módulos en AngularAngular
  • Como instalar eslint en AngularAngular
  • Como usar iconos de FontAwesome en AngularAngular

Escrito por Pol Valle

Escrito por Pol Valle

Me interesa especialmente desarrollar aplicaciones que no solo sean funcionales, sino también atractivas y fáciles de usar. Lo consigo aplicando principios SOLID, arquitectura limpia y testing para garantizar la calidad.