Descripción general del botón de icono Angular

    La directiva Ignite UI for Angular Botón de Iconos está pensada para convertir cualquier icono en un botón completamente funcional. VieneigxIconButton en tres tipos: plano, contornizado y contenido, que es el predeterminado.

    Angular Icon Button Example

    Getting Started with Ignite UI for Angular Icon Button

    Para comenzar con la directiva Ignite UI for Angular Icon Button, primero debe instalar Ignite UI for Angular. En una aplicación Angular existente, escriba el siguiente comando:

    ng add igniteui-angular
    

    Para obtener una introducción completa al Ignite UI for Angular, lea el tema de introducción.

    El siguiente paso es importar laIgxIconButtonDirective dependencia independiente:

    // home.component.ts
    
    ...
    import { IgxIconButtonDirective } from 'igniteui-angular/directives';
    // import { IgxIconButtonDirective } from '@infragistics/igniteui-angular'; for licensed package
    
    @Component({
        selector: 'app-home',
        template: `
            <button igxIconButton="outlined">
                <igx-icon>home</igx-icon>
            </button>`,
        styleUrls: ['home.component.scss'],
        standalone: true,
        imports: [IgxIconButtonDirective]
    })
    export class HomeComponent {}
    

    Ahora que tienes importada la directiva Ignite UI for Angular Icon Button, puedes empezar a usar laigxIconButton directiva sobre los elementos.

    Angular Icon Button Types

    Flat Icon Button

    Usa laigxIconButton directiva para añadir un botón sencillo de icono plano en tu plantilla de componentes:

    <button igxIconButton="flat">
        <igx-icon>edit</igx-icon>
    </button>
    

    Botón de icono contenido

    Todo lo que tienes que hacer para crear un icono contenido es cambiar el valor de laigxIconButton propiedad. Ten en cuenta que si no eliges un tipo, por defecto también estará configurado comocontained.

    <button igxIconButton>
        <igx-icon>favorite</igx-icon>
    </button>
    

    Botón de icono delineado

    Analógicamente podemos pasar al tipo delineado:

    <button igxIconButton="outlined">
        <igx-icon>more_vert</igx-icon>
    </button>
    

    Examples

    Disabled Icon Button

    Si quieres desactivar un botón de icono, puedes usar ladisabled propiedad. En este ejemplo también demostramos cómo usar iconos de diferentes familias con laigxIconButton directiva:

    <button igxIconButton="flat" disabled>
        <igx-icon family="fa" name="fa-home"></igx-icon>
    </button>
    

    SVG Icons

    Además de los iconos de material, laigxIconButton directiva también permite el uso de imágenes SVG como iconos. Para ello, primero deberíamos inyectar laIgxIconService dependencia y luego usar eladdSvgIcon método para importar el archivo SVG en la caché. Para más información, puedes leer la sección SVG en el tema de iconos.

    constructor(private _iconService: IgxIconService) { }
    
    public ngOnInit() {
        // register custom SVG icon
        this._iconService.addSvgIcon('rain', 'assets/images/card/icons/rain.svg', 'weather-icons');
    }
    
    <button igxIconButton>
        <igx-icon family="weather-icons" name="rain"></igx-icon>
    </button>
    

    Tamaño

    Los usuarios pueden elegir uno de los tres tamaños predefinidosigxIconButton utilizando la--ig-size propiedad CSS personalizada. Por defecto, el tamaño del componente se establece en media.

    Como puedes ver en el ejemplo anterior, también podemos usar laigxIconButton directiva para convertir elementos comospan ydiv en botones de icono con estilo Ignite UI for Angular.

    Icon Button Styling

    Icon Button Theme Property Map

    Cuando modificas una propiedad primaria, todas las propiedades dependientes relacionadas se actualizan automáticamente:

    Flat Icon Button

    Propiedad principalPropiedad dependienteDescripción
    $foreground
    $hover primer planoColor de icono flotado
    $focus primer planoColor de iconos enfocado
    $focus-plano flotanteEnfoque + color de icono de paso
    $active primer planoColor de icono activo
    $hover antecedentesAntecedentes sobre el hover
    $focus-antecedentesAntecedentes sobre el enfoque
    $focus-hover-fondoContexto sobre enfoque + flotación
    $active-antecedentesAntecedentes sobre activos

    Botón de icono contenido

    Propiedad principalPropiedad dependienteDescripción
    $background
    $foregroundColor de iconos
    $hover antecedentesAntecedentes sobre el hover
    $focus-antecedentesAntecedentes sobre el enfoque
    $focus primer planoColor de iconos enfocado
    $focus-hover-fondoContexto sobre enfoque + flotación
    $active-antecedentesAntecedentes sobre activos
    $hover primer planoColor de icono flotado
    $focus-plano flotanteEnfoque + color de icono de paso
    $active primer planoColor de icono activo
    $shadow colorSombra en el enfoque
    $focus-color de bordeColor del borde del foco
    $disabled antecedentesAntecedentes con discapacidad
    $disabled primer planoColor de icono desactivado

    Botón de icono delineado

    Propiedad principalPropiedad dependienteDescripción
    $foreground
    $hover primer planoColor de icono flotado
    $focus primer planoColor de iconos enfocado
    $focus-plano flotanteEnfoque + color de icono de paso
    $active primer planoColor de icono activo
    $hover antecedentesAntecedentes sobre el hover
    $focus-antecedentesAntecedentes sobre el enfoque
    $focus-hover-fondoContexto sobre enfoque + flotación
    $active-antecedentesAntecedentes sobre activos
    $border colorColor predeterminado del borde
    $focus-color de bordeColor del borde del foco

    Flat Icon Button

    Propiedad principalPropiedad dependienteDescripción
    $foreground
    $hover primer planoColor de iconos al pasar el cursor
    $focus primer planoColor de iconos cuando se enfoca
    $focus-plano flotanteColor de iconos cuando se enfoca y flota
    $active primer planoColor de iconos cuando está activo
    $hover antecedentesColor de fondo en el vuelo
    $focus-antecedentesColor de fondo en el enfoque
    $focus-hover-fondoColor de fondo al enfocar y flotar
    $active-antecedentesColor de fondo cuando está activo

    Botón de icono contenido

    Propiedad principalPropiedad dependienteDescripción
    $background
    $foregroundColor de iconos
    $hover antecedentesColor de fondo en el vuelo
    $focus-antecedentesColor de fondo en el enfoque
    $focus primer planoColor de iconos cuando se enfoca
    $focus-hover-fondoColor de fondo al enfocar y flotar
    $active-antecedentesColor de fondo cuando está activo
    $hover primer planoColor de iconos al pasar el cursor
    $focus-plano flotanteColor de iconos cuando se enfoca y flota
    $active primer planoColor de iconos cuando está activo
    $shadow colorColor de sombra enfocado
    $focus-color de bordeColor del borde en el enfoque
    $disabled antecedentesColor de fondo cuando está desactivado
    $disabled primer planoColor de iconos cuando está desactivado

    Botón de icono delineado

    Propiedad principalPropiedad dependienteDescripción
    $foreground
    $hover primer planoColor de iconos al pasar el cursor
    $focus primer planoColor de iconos cuando se enfoca
    $focus-plano flotanteColor de iconos cuando se enfoca y flota
    $active primer planoColor de iconos cuando está activo
    $hover antecedentesColor de fondo en el vuelo
    $focus-antecedentesColor de fondo en el enfoque
    $focus-hover-fondoColor de fondo al enfocar y flotar
    $active-antecedentesColor de fondo cuando está activo
    $border colorBorder color
    $focus-color de bordeColor del borde en el enfoque

    Flat Icon Button

    Propiedad principalPropiedad dependienteDescripción
    $foreground
    $hover primer planoColor de iconos al pasar el cursor
    $focus primer planoColor de iconos cuando se enfoca
    $focus-plano flotanteColor de iconos cuando se enfoca y flota
    $active primer planoColor de iconos cuando está activo
    $disabled primer planoColor de iconos cuando está desactivado
    $shadow colorEl color de sombra del botón de iconos

    Botón de icono contenido

    Propiedad principalPropiedad dependienteDescripción
    $background
    $foregroundColor de iconos
    $hover antecedentesColor de fondo en el vuelo
    $focus-antecedentesColor de fondo en el enfoque
    $focus primer planoColor de iconos cuando se enfoca
    $focus-hover-fondoColor de fondo al enfocar y flotar
    $active-antecedentesColor de fondo cuando está activo
    $hover primer planoColor de iconos al pasar el cursor
    $focus-plano flotanteColor de iconos cuando se enfoca y flota
    $active primer planoColor de iconos cuando está activo
    $shadow colorColor de sombra
    $focus-color de bordeColor del borde en el enfoque
    $disabled antecedentesColor de fondo cuando está desactivado
    $disabled primer planoColor de iconos cuando está desactivado

    Botón de icono delineado

    Propiedad principalPropiedad dependienteDescripción
    $foreground
    $hover primer planoColor de iconos al pasar el cursor
    $focus primer planoColor de iconos cuando se enfoca
    $focus-plano flotanteColor de iconos cuando se enfoca y flota
    $active primer planoColor de iconos cuando está activo
    $hover antecedentesColor de fondo en el vuelo
    $focus-antecedentesColor de fondo en el enfoque
    $focus-hover-fondoColor de fondo al enfocar y flotar
    $active-antecedentesColor de fondo cuando está activo
    $border colorBorder color
    $focus-color de bordeColor del borde en el enfoque
    $shadow colorColor de sombra
    $disabled primer planoColor de iconos cuando está desactivado
    $disabled-color del bordeEl borde del botón de icono cuando está desactivado

    Flat Icon Button

    Propiedad principalPropiedad dependienteDescripción
    $foreground
    $hover primer planoColor de iconos al pasar el cursor
    $focus primer planoColor de iconos cuando se enfoca
    $focus-plano flotanteColor de iconos cuando se enfoca y flota
    $active primer planoColor de iconos cuando está activo
    $disabled primer planoColor de iconos cuando está desactivado
    $hover antecedentesColor de fondo en el vuelo
    $focus-antecedentesColor de fondo en el enfoque
    $focus-hover-fondoColor de fondo al enfocar y flotar
    $active-antecedentesColor de fondo cuando está activo
    $focus-color de bordeColor del borde en el enfoque

    Botón de icono contenido

    Propiedad principalPropiedad dependienteDescripción
    $background
    $foregroundColor de iconos
    $hover antecedentesColor de fondo en el vuelo
    $focus-antecedentesColor de fondo en el enfoque
    $focus primer planoColor de iconos cuando se enfoca
    $focus-hover-fondoColor de fondo al enfocar y flotar
    $active-antecedentesColor de fondo cuando está activo
    $hover primer planoColor de iconos al pasar el cursor
    $focus-plano flotanteColor de iconos cuando se enfoca y flota
    $active primer planoColor de iconos cuando está activo
    $shadow colorColor de sombra
    $focus-color de bordeColor del borde en el enfoque
    $disabled antecedentesColor de fondo cuando está desactivado
    $disabled primer planoColor de iconos cuando está desactivado

    Botón de icono delineado

    Propiedad principalPropiedad dependienteDescripción
    $foreground
    $hover primer planoColor de iconos al pasar el cursor
    $focus primer planoColor de iconos cuando se enfoca
    $focus-plano flotanteColor de iconos cuando se enfoca y flota
    $active primer planoColor de iconos cuando está activo
    $hover antecedentesColor de fondo en el vuelo
    $border colorBorder color
    $focus-color de bordeColor del borde en el enfoque

    Siguiendo el enfoque más simple, usamos variables CSS para personalizar la apariencia del botón del icono:

    [igxIconButton="contained"] {
      --background: #011627;
      --foreground: #fefefe;
      --hover-foreground: #011627dc;
      --hover-background: #ecaa53;
      --focus-foreground: #011627dc;
      --focus-background: #ecaa53;
      --focus-border-color: #0116276c;
      --active-foreground: #011627dc;
      --active-background: #ecaa53;
    }
    

    Echa un vistazo a laicon-button-theme sección para ver la lista completa de parámetros disponibles para estilizar cualquier tipo de botón de icono.

    También puedes elegir estilizar solo botones de un tipo específico -flat,outlined ocontained. Para ello, puedes usar las nuevas funciones de tema específicas por tipo:flat-icon-button-theme,outlined-icon-button-theme ycontained-icon-button-theme

    Aquí tienes un ejemplo de cómo usar lacontained-icon-button-theme función para definir un tema personalizado en SCSS:

    @use "igniteui-angular/theming" as *;
    
    $custom-contained: contained-icon-button-theme(
        $background: #ECAA53,
    );
    

    Esto generará un diseño completamente temático,contained icon button incluyendo colores de primer plano y fondo apropiados para sus distintos estados como flotar, enfocar y activo.

    Styling with Tailwind

    Puedes estilizar el botón icono usando nuestras clases utilitarias personalizadas de Tailwind. Asegúrate de configurar primero a Tailwind.

    Junto con la importación de viento de cola en su hoja de estilo global, puede aplicar las utilidades de tema deseadas de la siguiente manera:

    @import "tailwindcss";
    ...
    @use 'igniteui-theming/tailwind/utilities/material.css';
    

    El archivo de utilidad incluye variantes tantolight comodark de tema.

    • Usalight-* clases para el tema ligero.
    • Usadark-* clases para el tema oscuro.
    • Añadir el nombre del componente después del prefijo, por ejemplo, ,light-icon-button,dark-icon-button.

    Una vez aplicadas, estas clases permiten cálculos dinámicos de temas. Desde ahí, puedes anular las variables CSS generadas usandoarbitrary properties. Después de los dos puntos, proporciona cualquier formato de color CSS válido (HEX, variable CSS, RGB, etc.).

    Puedes encontrar la lista completa de propiedades en el tema icono-botón. La sintaxis es la siguiente:

    <button igxIconButton class="!light-icon-button ![--icon-color:#FF4E00]">
      <igx-icon>edit</igx-icon>
    </button>
    
    Note

    El signo de exclamación(!) es necesario para asegurar que la clase de utilidad tenga prioridad. Tailwind aplica estilos en capas y, sin marcar estos estilos como importantes, serán anulados por el tema predeterminado del componente.

    Al final, tus botones iconos deberían verse así:

    API References

    Additional Resources

    Nuestra comunidad es activa y siempre da la bienvenida a nuevas ideas.