Visão geral do botão Angular

    Angular diretiva de botão é usada para criar e adicionar botões acionáveis a uma página/aplicação web. Existem diferentes tipos de botões Angular que são fáceis de personalizar e incluem vários recursos embutidos. Por padrão, Angular Material usa nativo<button> e<a> elementos para oferecer uma experiência acessível.

    A diretiva Ignite UI for Angular Button tem como objetivo transformar qualquer botão, span, div ou elemento de âncora em um botão totalmente funcional. Você pode usar os seguintes tipos de Angular Button - Flat Button, Contained Button, Outlined Button e Floating Action Button. Com cores personalizáveis, opções para criar temas e alterar o Angular Button Style e permitir que os usuários escolham o tamanho do botão e muito mais.

    Angular Button Example

    Criamos o exemplo do botão Angular abaixo para mostrar como diferentes tipos de botões podem aparecer e parecer quando são estilizados com uma borda ou quando um fundo transparente é aplicado.

    Getting Started with Ignite UI for Angular Button

    Para começar a usar a diretiva Ignite UI for Angular Button, primeiro você precisa instalar Ignite UI for Angular. Em um aplicativo Angular existente, digite o seguinte comando:

    ng add igniteui-angular
    

    Para obter uma introdução completa ao Ignite UI for Angular, leia o tópico de introdução.

    O próximo passo é importar issoIgxButtonModule no seu arquivo app.module.ts.

    // app.module.ts
    import { IgxButtonModule } from 'igniteui-angular/button';
    // import { IgxButtonModule } from '@infragistics/igniteui-angular'; for licensed package
    @NgModule({
        imports: [
            ...
            IgxButtonModule,
            ...
        ]
    })
    export class AppModule {}
    

    Alternativamente,16.0.0 você pode importar comoIgxButtonDirective uma dependência independente.

    // home.component.ts
    
    ...
    import { IgxButtonDirective } from 'igniteui-angular/button';
    // import { IgxButtonDirective } from '@infragistics/igniteui-angular'; for licensed package
    
    @Component({
        selector: 'app-home',
        template: '<button igxButton="flat">Flat</button>',
        styleUrls: ['home.component.scss'],
        standalone: true,
        imports: [IgxButtonDirective]
    })
    export class HomeComponent {}
    

    Agora que você importou o módulo ou diretiva Ignite UI for Angular Button, pode começar a usar aigxButton diretiva nos elementos.

    Angular Button Types

    Botão plano

    Use aigxButton diretiva para adicionar um botão simples e plano no seu template de componente. Note que, se você não escolher um tipo, por padrão ele será definido paraflat.

    <button igxButton="flat">Flat</button>
    

    Botão contido

    Tudo o que você precisa fazer para criar um botão contido é mudar o valor daigxButton propriedade:

    <button igxButton="contained">Contained</button>
    

    Botão delineado

    Analogicamente, podemos mudar para o tipo de contorno:

    <button igxButton="outlined">Outlined</button>
    

    Botão de ícone

    A partir da versão17.1.0, o IgniteUI para Angular expõe uma novaigxIconButton diretriz destinada a transformar ícones em botões totalmente funcionais. Você pode ler mais sobre o Botão de Ícone aqui.

    <button igxIconButton="flat">
      <igx-icon fontSet="material">favorite</igx-icon>
    </button>
    

    Floating Action Button

    Podemos criar um botão de ação flutuante e usar um ícone para exibir:

    <button igxButton="fab">
      <igx-icon fontSet="material">edit</igx-icon>
    </button>
    

    Para criar um FAB estendido, você pode adicionar qualquer elemento antes doigx-icon:

    <button class="btn" igxButton="fab">
      <span>like</span>
      <igx-icon fontSet="material">favorite</igx-icon>
    </button>
    
    Note

    Para que o texto FAB estendido seja estilizado corretamente, use<span> as tags de ouro<div>.

    Examples

    Angular Disable Button

    Adisabled propriedade pode ser usada para tornar um botão desclicável:

    <button igxButton="contained" [disabled]="'true'">Disabled</button>
    

    Ondulação

    AigxRipple diretiva adiciona um efeito dominó aos seus botões ou outros elementos especificados. Você pode facilmente mudar a cor, posição e duração padrão do ripple, usando suas propriedades:

    <button igxButton="contained" igxRipple="white" [igxRippleCentered]="true" [igxRippleDuration]="2000">
      Ripple
    </button>
    

    Span

    Também podemos usar aigxButton diretiva para transformar elementos comospan ediv em botões Ignite UI for Angular estilo. As cores padrão podem ser personalizadas via eigxButtonColor asigxButtonBackground propriedades:

    <span igxButton="contained" igxButtonColor="white" igxButtonBackground="#72da67" igxRipple="white">
      Span
    </span>
    

    Tamanho

    Podemos permitir que o usuário escolha o tamanho doigxButton usando a--ig-size propriedade CSS personalizada. Para isso, primeiro precisamos importar eIgxButtonGroupModule depois usar oigxButtonGroup componente para exibir os valores de tamanho. Assim, sempre que um for selecionado, atualizaremos a propriedade CSS -ig-size.

    // app.module.ts
    ...
    import { IgxButtonGroupModule } from 'igniteui-angular/button-group';
    // import { IgxButtonGroupModule } from '@infragistics/igniteui-angular'; for licensed package
    @NgModule({
        imports: [
            ...
            IgxButtonGroupModule
            ...
        ]
    })
    
    <!--buttons-density.component.html-->
    <igx-buttongroup [values]="sizes" (selected)="selectSize($event)"></igx-buttongroup>
    ...
    <button igxButton="flat">Flat</button>
    
    // buttons-density.component.ts
    public size = "large";
    public sizes;
    public ngOnInit() {
        this.sizes = [
            { label: 'large', selected: this.size === 'large', togglable: true },
            { label: 'medium', selected: this.size === 'medium', togglable: true },
            { label: 'small', selected: this.size === 'small', togglable: true }
        ];
    }
    
    public selectSize(event: any) {
        this.size = this.sizes[event.index].label;
    }
    
    
    @HostBinding('style.--ig-size')
    protected get sizeStyle() {
        return `var(--ig-size-${this.size})`;
    }
    

    Se tudo correr bem, você deverá ver algo como o seguinte no navegador:

    Estilização

    Button Theme Property Map

    Quando você modifica uma propriedade primária, todas as propriedades dependentes relacionadas são atualizadas automaticamente:

    Material Theme

    Botão plano

    Propriedade primária Propriedade dependente Descrição
    $foreground
    $hover-contexto Cor de fundo para botão movido pelo mouse
    $focus-contexto Cor de fundo para o botão de foco
    $focus-hover-background Cor de fundo para botão no foco + ao passar o mouse
    $active-contexto Cor de fundo para o botão ativo
    $hover-primeiro plano Cor em primeiro plano para botão flutuante
    $icon-color-pairar Cor do ícone para o botão movido
    $focus-primeiro plano Cor em primeiro plano para o botão de foco
    $focus-pairar-primeiro plano Cor em primeiro plano para botão no foco + passar o mouse
    $active-primeiro plano Cor do primeiro plano para o botão ativo
    $focus-fundo-visível Fundo quando o foco está visível
    $focus-visível-primeiro plano Primeiro plano quando o foco é visível

    Botão contido

    Propriedade primária Propriedade dependente Descrição
    $background
    $foreground Primeiro plano baseado no fundo
    $icon cor Cor do ícone baseada no fundo
    $hover-contexto Cor de fundo ao passar o mouse
    $hover-primeiro plano Primeiro plano em pairar
    $icon-color-pairar Cor do ícone ao passar o mouse
    $focus-contexto Foco na cor do fundo
    $focus-primeiro plano Primeiro plano no foco
    $focus-hover-background Foco + passar o mouse para fundo
    $focus-pairar-primeiro plano Primeiro plano no foco + pairar
    $active-contexto Cor de fundo ativa
    $active-primeiro plano Cor ativa em primeiro plano
    $focus-fundo-visível Fundo quando o foco está visível
    $focus-visível-primeiro plano Primeiro plano quando o foco é visível

    Botão delineado

    Propriedade primária Propriedade dependente Descrição
    $foreground
    $hover-contexto Cor de fundo para botão movido pelo mouse
    $focus-contexto Cor de fundo para o botão de foco
    $focus-hover-background Cor de fundo para botão no foco + ao passar o mouse
    $active-contexto Cor de fundo para o botão ativo
    $hover-primeiro plano Cor em primeiro plano para botão flutuante
    $icon-color-pairar Cor do ícone para o botão movido
    $focus-primeiro plano Cor em primeiro plano para o botão de foco
    $focus-pairar-primeiro plano Cor em primeiro plano para botão no foco + passar o mouse
    $active-primeiro plano Cor do primeiro plano para o botão ativo
    $focus-fundo-visível Fundo quando o foco está visível
    $focus-visível-primeiro plano Primeiro plano quando o foco é visível
    $border cor A cor da borda para botões contornados.
    $hover-cor-borda A cor da borda para botões contornados flutuando.
    $focus-cor da borda A cor da borda para botões com contorno focado.
    $focus-cor-borda-visível A cor da borda para botões delineados quando o foco está visível.
    $active-cor-borda A cor da borda para botões delineados ativos.

    Botão FAB

    Propriedade primária Propriedade dependente Descrição
    $background
    $foreground Primeiro plano baseado no fundo
    $icon cor Cor do ícone baseada no fundo
    $hover-contexto Cor de fundo ao passar o mouse
    $hover-primeiro plano Primeiro plano em pairar
    $icon-color-pairar Cor do ícone ao passar o mouse
    $focus-contexto Foco na cor do fundo
    $focus-primeiro plano Primeiro plano no foco
    $active-contexto Cor de fundo ativa
    $active-primeiro plano Cor ativa em primeiro plano
    $focus-hover-background Foco + passar o mouse para fundo
    $focus-pairar-primeiro plano Primeiro plano no foco + pairar
    $focus-fundo-visível Fundo quando o foco está visível
    $focus-visível-primeiro plano Primeiro plano quando o foco é visível

    Fluent Theme

    Botão plano

    Propriedade primária Propriedade dependente Descrição
    $foreground
    $hover-contexto Cor de fundo para botão movido pelo mouse
    $focus-contexto Cor de fundo para o botão de foco
    $focus-hover-background Cor de fundo para botão no foco + ao passar o mouse
    $active-contexto Cor de fundo para o botão ativo
    $hover-primeiro plano Cor em primeiro plano para botão flutuante
    $icon-color-pairar Cor do ícone para o botão movido
    $focus-primeiro plano Cor em primeiro plano para o botão de foco
    $focus-pairar-primeiro plano Cor em primeiro plano para botão no foco + passar o mouse
    $active-primeiro plano Cor do primeiro plano para o botão ativo
    $focus-visível-primeiro plano Primeiro plano quando o foco é visível
    $focus-cor-borda-visível Cor da borda quando o foco está visível

    Botão contido

    Propriedade primáriaPropriedade dependenteDescrição
    $background
    $foregroundPrimeiro plano baseado no fundo
    $icon corCor do ícone baseada no fundo
    $hover-contextoCor de fundo ao passar o mouse
    $focus-contextoFoco na cor do fundo
    $active-contextoCor de fundo ativa
    $hover-primeiro planoPrimeiro plano em pairar
    $icon-color-pairarCor do ícone ao passar o mouse
    $focus-primeiro planoPrimeiro plano no foco
    $active-primeiro planoCor ativa em primeiro plano
    $focus-hover-backgroundFoco + passar o mouse para fundo
    $focus-pairar-primeiro planoPrimeiro plano no foco + pairar
    $focus-fundo-visívelFundo quando o foco está visível
    $focus-visível-primeiro planoPrimeiro plano quando o foco é visível
    $focus-cor-borda-visívelCor da borda quando o foco está visível

    Botão delineado

    Propriedade primáriaPropriedade dependenteDescrição
    $foreground
    $hover-contextoCor de fundo para o botão contornado com o curso.
    $focus-contextoCor de fundo para o botão de contorno focado.
    $focus-hover-backgroundCor de fundo para o botão delineado no foco + passar o cursor.
    $active-contextoCor de fundo para o botão ativo contornado.
    $hover-primeiro planoCor em primeiro plano para o botão contornado com o cursor.
    $icon-color-pairarCor do ícone para o botão contornado e passado o curso.
    $focus-primeiro planoCor em primeiro plano para o botão de contorno focado.
    $focus-pairar-primeiro planoCor em primeiro plano para o botão delineado no foco + passar o cursor.
    $active-primeiro planoCor em primeiro plano para o botão ativo delineado.
    $focus-visível-primeiro planoCor em primeiro plano para o botão delineado quando o foco está visível.
    $focus-cor-borda-visívelCor da borda para o botão delineado quando o foco está visível.
    $border corCor da borda para o botão delineado.
    $hover-cor-bordaCor da borda para o botão contornado com o cursor.
    $focus-cor da bordaCor da borda para o botão com contorno focado.
    $active-cor-bordaCor da borda para o botão ativo com contorno.

    Botão FAB

    Propriedade primáriaPropriedade dependenteDescrição
    $background
    $foregroundPrimeiro plano baseado no fundo
    $icon corCor do ícone baseada no fundo
    $hover-contextoCor de fundo ao passar o mouse
    $hover-primeiro planoPrimeiro plano em pairar
    $icon-color-pairarCor do ícone ao passar o mouse
    $active-contextoCor de fundo ativa
    $active-primeiro planoCor ativa em primeiro plano
    $focus-contextoFoco na cor do fundo
    $focus-primeiro planoPrimeiro plano no foco
    $focus-hover-backgroundFoco + passar o mouse para fundo
    $focus-pairar-primeiro planoPrimeiro plano no foco + pairar
    $focus-fundo-visívelFundo quando o foco está visível
    $focus-visível-primeiro planoPrimeiro plano quando o foco é visível
    $focus-cor-borda-visívelCor da borda quando o foco está visível

    Bootstrap Theme

    Botão plano

    Propriedade primária Propriedade dependente Descrição
    $foreground
    $hover-primeiro plano Cor em primeiro plano para botão flutuante
    $icon-color-pairar Cor do ícone para o botão movido
    $focus-primeiro plano Cor em primeiro plano para o botão de foco
    $focus-pairar-primeiro plano Cor em primeiro plano para botão no foco + passar o mouse
    $active-primeiro plano Cor do primeiro plano para o botão ativo
    $focus-visível-primeiro plano Primeiro plano quando o foco é visível
    $focus-cor-borda-visível Cor da borda quando o foco está visível
    $disabled em primeiro plano Cor em primeiro plano para botão desativado
    $disabled-cor-ícone Cor do ícone para botão desativado
    $shadow cor Cor das sombras

    Botão contido

    Propriedade primária Propriedade dependente Descrição
    $background
    $foreground Primeiro plano baseado no fundo
    $icon cor Cor do ícone baseada no fundo
    $hover-contexto Cor de fundo ao passar o mouse
    $focus-contexto Foco na cor do fundo
    $active-contexto Cor de fundo ativa
    $hover-primeiro plano Primeiro plano em pairar
    $icon-color-pairar Cor do ícone ao passar o mouse
    $focus-primeiro plano Primeiro plano no foco
    $focus-hover-background Foco + passar o mouse para fundo
    $focus-pairar-primeiro plano Primeiro plano no foco + pairar
    $focus-fundo-visível Fundo quando o foco está visível
    $focus-visível-primeiro plano Primeiro plano quando o foco é visível
    $active-primeiro plano Cor ativa em primeiro plano
    $shadow cor Cor das sombras
    $disabled-contexto Cor de fundo desativada
    $disabled em primeiro plano Cor do primeiro plano desativada
    $disabled-cor-ícone Cor do ícone desativada

    Botão delineado

    Propriedade primária Propriedade dependente Descrição
    $foreground
    $hover-contexto Cor de fundo para botão movido pelo mouse
    $focus-contexto Cor de fundo para o botão de foco
    $focus-hover-background Cor de fundo para botão no foco + ao passar o mouse
    $active-contexto Cor de fundo para o botão ativo
    $hover-primeiro plano Cor em primeiro plano para botão flutuante
    $icon-color-pairar Cor do ícone para o botão movido
    $focus-primeiro plano Cor em primeiro plano para o botão de foco
    $focus-pairar-primeiro plano Cor em primeiro plano para botão no foco + passar o mouse
    $active-primeiro plano Cor do primeiro plano para o botão ativo
    $focus-fundo-visível Fundo quando o foco está visível
    $focus-visível-primeiro plano Primeiro plano quando o foco é visível
    $focus-cor-borda-visível Cor da borda quando o foco está visível
    $disabled em primeiro plano Cor em primeiro plano para botão desativado
    $disabled-cor-ícone Cor do ícone para botão desativado
    $disabled-cor-borda Cor da borda para botão desativado
    $hover-cor-borda Cor da borda do estacionário
    $focus-cor da borda Cor da borda de foco
    $focus-cor-borda-visível Cor da borda visível no foco
    $active-cor-borda Cor ativa da borda
    $shadow cor Cor das sombras

    Botão FAB

    Propriedade primária Propriedade dependente Descrição
    $background
    $foreground Primeiro plano baseado no fundo
    $icon cor Cor do ícone baseada no fundo
    $hover-contexto Cor de fundo ao passar o mouse
    $focus-contexto Foco na cor do fundo
    $active-contexto Cor de fundo ativa
    $disabled-contexto Cor de fundo desativada
    $hover-primeiro plano Primeiro plano em pairar
    $icon-color-pairar Cor do ícone ao passar o mouse
    $focus-primeiro plano Primeiro plano no foco
    $focus-hover-background Foco + passar o mouse para fundo
    $focus-pairar-primeiro plano Primeiro plano no foco + pairar
    $focus-fundo-visível Fundo quando o foco está visível
    $focus-visível-primeiro plano Primeiro plano quando o foco é visível
    $active-primeiro plano Cor ativa em primeiro plano
    $shadow cor Cor das sombras
    $disabled em primeiro plano Cor do primeiro plano desativada
    $disabled-cor-ícone Cor do ícone desativada
    Another way to style the button is by using **Sass**, along with our type-specific theme functions: [`flat-button-theme`](https://pt-br.infragistics.com/products/ignite-ui-angular/docs/sass/latest/themes#function-flat-button-theme), [`outlined-button-theme`](https://pt-br.infragistics.com/products/ignite-ui-angular/docs/sass/latest/themes#function-outlined-button-theme), [`contained-button-theme`](https://pt-br.infragistics.com/products/ignite-ui-angular/docs/sass/latest/themes#function-contained-button-theme), and [`fab-button-theme`](https://pt-br.infragistics.com/products/ignite-ui-angular/docs/sass/latest/themes#function-fab-button-theme).

    Cada um deles vai mirar apenas nos botões desse tipo específico.

    Indigo Theme

    Botão plano

    Propriedade primáriaPropriedade dependenteDescrição
    $foreground
    $hover-contextoCor de fundo para botão movido pelo mouse
    $focus-contextoCor de fundo para o botão de foco
    $focus-hover-backgroundCor de fundo para botão no foco + ao passar o mouse
    $active-contextoCor de fundo para o botão ativo
    $hover-primeiro planoCor em primeiro plano para botão flutuante
    $icon-color-pairarCor do ícone para o botão movido
    $focus-primeiro planoCor em primeiro plano para o botão de foco
    $focus-pairar-primeiro planoCor em primeiro plano para botão no foco + passar o mouse
    $active-primeiro planoCor do primeiro plano para o botão ativo
    $focus-visível-primeiro planoPrimeiro plano quando o foco é visível
    $disabled em primeiro planoCor do primeiro plano desativada
    $disabled-cor-íconeCor do ícone desativada
    $shadow corCor das sombras

    Botão contido

    Propriedade primária Propriedade dependente Descrição
    $background
    $foreground Primeiro plano baseado no fundo
    $icon cor Cor do ícone baseada no fundo
    $hover-contexto Cor de fundo ao passar o mouse
    $focus-contexto Foco na cor do fundo
    $active-contexto Cor de fundo ativa
    $hover-primeiro plano Primeiro plano em pairar
    $icon-color-pairar Cor do ícone ao passar o mouse
    $focus-primeiro plano Primeiro plano no foco
    $focus-hover-background Foco + passar o mouse para fundo
    $focus-pairar-primeiro plano Primeiro plano no foco + pairar
    $focus-fundo-visível Fundo quando o foco está visível
    $focus-visível-primeiro plano Primeiro plano quando o foco é visível
    $active-primeiro plano Cor ativa em primeiro plano
    $shadow cor Cor das sombras
    $disabled-contexto Cor de fundo desativada
    $disabled em primeiro plano Cor do primeiro plano desativada
    $disabled-cor-ícone Cor do ícone desativada

    Botão delineado

    Propriedade primária Propriedade dependente Descrição
    $foreground
    $hover-contexto Cor de fundo para botão movido pelo mouse
    $focus-contexto Cor de fundo para o botão de foco
    $focus-hover-background Cor de fundo para botão no foco + ao passar o mouse
    $active-contexto Cor de fundo para o botão ativo
    $hover-primeiro plano Cor em primeiro plano para botão flutuante
    $icon-color-pairar Cor do ícone para o botão movido
    $focus-primeiro plano Cor em primeiro plano para o botão de foco
    $focus-pairar-primeiro plano Cor em primeiro plano para botão no foco + passar o mouse
    $active-primeiro plano Cor do primeiro plano para o botão ativo
    $focus-fundo-visível Fundo quando o foco está visível
    $focus-visível-primeiro plano Primeiro plano quando o foco é visível
    $focus-cor-borda-visível Cor da borda quando o foco está visível
    $border cor Border color
    $hover-cor-borda Cor da borda do estacionário
    $focus-cor da borda Cor da borda de foco
    $focus-cor-borda-visível Cor da borda visível no foco
    $active-cor-borda Cor ativa da borda
    $shadow cor Cor das sombras

    Botão FAB

    Propriedade primária Propriedade dependente Descrição
    $background
    $foreground Primeiro plano baseado no fundo
    $icon cor Cor do ícone baseada no fundo
    $hover-contexto Cor de fundo ao passar o mouse
    $focus-contexto Foco na cor do fundo
    $active-contexto Cor de fundo ativa
    $disabled-contexto Cor de fundo desativada
    $hover-primeiro plano Primeiro plano em pairar
    $icon-color-pairar Cor do ícone ao passar o mouse
    $focus-primeiro plano Primeiro plano no foco
    $focus-hover-background Foco + passar o mouse para fundo
    $focus-pairar-primeiro plano Primeiro plano no foco + pairar
    $focus-fundo-visível Fundo quando o foco está visível
    $focus-visível-primeiro plano Primeiro plano quando o foco é visível
    $active-primeiro plano Cor ativa em primeiro plano
    $shadow cor Cor das sombras
    $disabled em primeiro plano Cor do primeiro plano desativada
    $disabled-cor-ícone Cor do ícone desativada

    Nota: As propriedades dependentes resultantes podem variar ligeiramente dependendo do tema selecionado (Material, Fluente, Bootstrap, Índigo).

    Para estilizar o botão, você pode usar nossas funções de tema específicas por tipo:flat-button-theme,outlined-button-theme,contained-button-theme, efab-button-theme.

    Cada um deles vai mirar apenas nos botões desse tipo específico.

    Para começar a estilizar o botão, primeiro importe o módulo de temas, que inclui todas as funções de tema e mixagens de componentes:

    @use "igniteui-angular/theming" as *;
    
    // IMPORTANT: Prior to Ignite UI for Angular version 13 use:
    // @import '~igniteui-angular/lib/core/styles/themes/index';
    

    Em seguida, crie um novo tema que estenda a função de tema específico para o tipo de botão que você está estilizando. Neste exemplo, usaremos acontained-button-theme função e passaremos valores para os$foreground$background parâmetros e , junto com seus respectivos parâmetros de hover e ativos.

    Dada a seguinte marcação:

    <div class="my-contained-btn">
      <button igxButton="contained">Contained button</button>
    </div>
    

    Você pode criar o seguinte tema:

    $custom-contained-theme: contained-button-theme(
        $background: #f9f0ff,
        $foreground: #722ed1,
        $hover-background: #efdbff,
        $hover-foreground: #9254de,
        $active-foreground: #531dab,
        $active-background: #dfc2fa,
    );
    

    Dê uma olhada nacontained-button-theme seção para uma lista completa dos parâmetros disponíveis para estilizar os botões do tipo contido.

    Por fim, inclua o tema personalizado em seu aplicativo:

    .my-contained-btn {
        @include css-vars($custom-contained-theme);
    }
    

    Com as funções de tema específicas por tipo, estilizar botões fica muito mais fácil.

    Paracontained-button-theme as funções e,fab-button-theme você só precisa fornecer um valor de cor ao$background parâmetro. Todos os outros estados dos botões e cores do texto (se não forem fornecidos) serão automaticamente gerados e aplicados com base nesse valor.

    A cor do texto é determinada pela função recém-adicionadaadaptive-contrast, que calcula se preto ou branco oferece melhor contraste com a cor de fundo fornecida.

    Paraflat-button-theme funções e,outlined-button-theme as cores do estado dos botões também são geradas e aplicadas automaticamente, mas são derivadas do parâmetro fornecido$foreground em vez de$background.

    No exemplo abaixo, você pode ver como usar o componente de botão com variáveis CSS personalizadas permite criar um design que visualmente se assemelha ao botão usado noAnt sistema de design.

    Note

    O exemplo usa o esquema Bootstrap Light.

    Styling with Tailwind

    Você pode usarbutton nossas classes utilitárias personalizadas de Tailwind. Certifique-se de configurar o Tailwind primeiro.

    Junto com a importação de vento de cauda em sua folha de estilo global, você pode aplicar os utilitários de tema desejados da seguinte maneira:

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

    O arquivo utilitário inclui tantolight as variantes quantodark as do tema.

    • Uselight-* as aulas para o tema da luz.
    • Usedark-* classes para o tema sombrio.
    • Anexe o nome do componente após o prefixo. Como o botão tem tipos, as classes são usadas assim, por exemplo,light-contained-button,,light-flat-button dark-outlined-buttondark-fab-button,, etc.

    Uma vez aplicadas, essas classes possibilitam cálculos dinâmicos de temas. A partir daí, você pode sobrescrever as variáveis CSS geradas usandoarbitrary properties. Após os dois-pos, forneça qualquer formato de cor CSS válido (HEX, variável CSS, RGB, etc.).

    Você pode encontrar a lista completa de propriedades no tema dos botões que refletem de forma diferente nas diferentes variantes, a principal propriedade dosflat botões eoutlined é$foreground e doscontained botões efab é$background. A sintaxe é a seguinte:

    <div class="buttons-sample">
      <div class="button-sample">
        <button
        igxButton="flat"
        class="!light-flat-button ![--foreground:#7B9E89]">
          Flat Button
        </button>
      </div>
      <div class="button-sample">
        <button
        igxButton="contained"
        class="!light-contained-button ![--background:#7B9E89]">
          Contained Button
        </button>
      </div>
      <div class="button-sample">
        <button
        igxButton="outlined"
        class="!light-outlined-button ![--foreground:#7B9E89]">
          Outlined Button
        </button>
      </div>
      <div class="button-sample">
        <button
        igxButton="fab"
        class="!light-fab-button ![--background:#7B9E89]">
          Fab Button
        </button>
      </div>
    </div>
    
    Note

    O ponto de exclamação(!) é necessário para garantir que a classe utilitária tenha prioridade. O Tailwind aplica estilos em camadas e, sem marcar esses estilos como importantes, eles serão substituídos pelo tema padrão do componente.

    No final, seus botões devem ficar assim:

    Custom sizing

    Você pode mudar a altura do botão usando a--size variável, mirando diretamente nobutton seguinte:

    button {
      --size: 50px;
    }
    

    Ou você pode usar a variável universal--igx-button-size para direcionar todas as instâncias:

    <div class="my-app">
      <button igxButton="raised"></button>
    </div>
    
    .my-app {
      --igx-button-size: 50px;
    }
    

    Você também pode usar um dos tamanhos predefinidos, atribuindo-o à--ig-size variável. Os valores disponíveis para--ig-size são--ig-size-small,--ig-size-medium, e--ig-size-large:

    button {
      --ig-size: var(--ig-size-large);
    }
    

    Saiba mais sobre isso no artigo Tamanho.

    API References

    Additional Resources

    Nossa comunidade é ativa e sempre acolhedora para novas ideias.