Promoção no ar
Tempo restante da oferta:
05 Horas
42 Min
58 Seg
Assinar →

Criando componentes com Tailwind CSS

Neste artigo veremos por que os componentes nos ajudam durante o desenvolvimento do nosso projeto e como conseguimos criá-los com Tailwind CSS

Rafael Oliveira 4 anos atrás

No artigo sobre Tailwind CSS vimos como instalar e executar o mesmo na nossa máquina, possibilitando agora aprendermos a criar nossos componentes.

Os componentes estão presentes em basicamente todos os sites que acessamos, se tornando algo bem comum, mas como conseguimos realizar a criação de um componente com o Tailwind CSS? Veremos o passo a passo a seguir.

O que é?

Uma vez que criamos um botão e o mesmo passa a se repetir durante o desenvolvimento do nosso site, ele passa a se tornar um componente.

Tendo isso em vista, podemos concluir que um componente nada mais é do que algo que irá ser apresentado duas ou mais vezes no nosso projeto.

Curso Bootstrap - Primeiros passos Conhecer o curso

Portanto, para facilitarmos o desenvolvimento do nosso projeto, o ideal é criarmos um botão, por exemplo, e aplicar a estilização desejada apenas uma vez, e após isso, basta declararmos no nosso documento HTML a classe que este botão possui.

Criando um componente de botão

Em primeiro lugar, vamos criar uma pasta na nossa Área de trabalho e abri-la com o nosso Visual Studio Code, após isso, realizaremos a instalação do Tailwind CSS seguindo o passo a passo contido no artigo.

Logo após instalarmos o Tailwind CSS em nossa máquina, iremos no nosso arquivo style.css onde realizamos os imports das diretivas do Tailwind CSS, @tailwind base; @tailwind components; @tailwind utilities;.

Neste arquivo, iremos declarar o nome da classe que queremos que o nosso botão tenha, e estilizá-la utilizando as classes do Tailwind CSS. Dessa forma:

@tailwind base;
@tailwind components;
@tailwind utilities;


.btn-treinaweb {
   @apply bg-green-400 text-white p-2 m-5 rounded;
}

Explicando o código

Visto que, para criarmos um componente, foi necessário utilizarmos a diretiva @apply, que será responsável por realizar as aplicações das classes da diretiva @utilities do Tailwind CSS. Sendo as classes que declaramos após @apply.

  • bg-green - background-green-400 (400 equivale a uma tonalidade de cor fornecida pelo Tailwind CSS)
  • p-2 - padding-2 (2 equivale a um espaçamento fornecido pelo Tailwind CSS, sendo sua unidade de medida, rem)
  • m-5 - margin-5 (5 equivale a um espaçamento fornecido pelo Tailwind CSS, sendo sua unidade de medida, rem)
  • rounded - border-rounded, arredondamento dos cantos

Agora, basta executarmos o comando de build, porém, neste comando devemos passar o caminho do nosso arquivo CSS onde declaramos as estilizações do nosso componente, dessa forma: npx tailwindcss-cli@latest style.css build -o src/css/style.css.

Curso CSS - Sass Conhecer o curso

Por fim, aplicamos a classe “btn-treinaweb” no nosso elemento de botão.

<!DOCTYPE html>
<html lang="pt-BR">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Componentes Tailwind CSS</title>
    <link rel="stylesheet" href="css/style.css">
</head>
<body>
    <button class="btn-treinaweb">TreinaWeb</button>
</body>
</html>

Dessa forma, teremos este resultado no nosso navegador:

Imagem do navegador contendo um botão com o nome de TreinaWeb

Vantagens dos componentes

Afinal, quais seriam as vantagens de criarmos um componente? Tendo em vista que, iremos obter o mesmo resultado se declararmos as classes no nosso documento HTML.

A primeira e principal vantagem é deixarmos o nosso documento HTML mais “limpo”, permitindo assim a facilidade da leitura do nosso documento.

Vamos comparar dois documentos HTML, dentro do documento terão 10 botões, porém, um contendo o nosso componente “btn-treinaweb” em cada botão, e outro, com as mesmas declarações que utilizamos para criarmos o nosso botão, mas com as classes declaradas direto no HTML.

<!DOCTYPE html>
<html lang="pt-BR">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Componentes Tailwind CSS</title>
    <link rel="stylesheet" href="css/style.css">
</head>
<body>
    <button class="btn-treinaweb">TreinaWeb botão 1</button>
    <button class="btn-treinaweb">TreinaWeb botão 2</button>
    <button class="btn-treinaweb">TreinaWeb botão 3</button>
    <button class="btn-treinaweb">TreinaWeb botão 4</button>
    <button class="btn-treinaweb">TreinaWeb botão 5</button>
    <button class="btn-treinaweb">TreinaWeb botão 6</button>
    <button class="btn-treinaweb">TreinaWeb botão 7</button>
    <button class="btn-treinaweb">TreinaWeb botão 8</button>
    <button class="btn-treinaweb">TreinaWeb botão 9</button>
    <button class="btn-treinaweb">TreinaWeb botão 10</button>
</body>
</html>

Agora, vamos comparar o próximo código com este, que irá conter com mesmos 10 botões, porém, com as classes declaradas dentro de button.

Curso JavaScript - Fundamentos Conhecer o curso

<!DOCTYPE html>
<html lang="pt-BR">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Componentes Tailwind CSS</title>
    <link rel="stylesheet" href="css/style.css">
</head>
<body>
    <button class="bg-green-400 text-white p-2 m-5 rounded">TreinaWeb botão 1</button>
    <button class="bg-green-400 text-white p-2 m-5 rounded">TreinaWeb botão 2</button>
    <button class="bg-green-400 text-white p-2 m-5 rounded">TreinaWeb botão 3</button>
    <button class="bg-green-400 text-white p-2 m-5 rounded">TreinaWeb botão 4</button>
    <button class="bg-green-400 text-white p-2 m-5 rounded">TreinaWeb botão 5</button>
    <button class="bg-green-400 text-white p-2 m-5 rounded">TreinaWeb botão 6</button>
    <button class="bg-green-400 text-white p-2 m-5 rounded">TreinaWeb botão 7</button>
    <button class="bg-green-400 text-white p-2 m-5 rounded">TreinaWeb botão 8</button>
    <button class="bg-green-400 text-white p-2 m-5 rounded">TreinaWeb botão 9</button>
    <button class="bg-green-400 text-white p-2 m-5 rounded">TreinaWeb botão 10</button>
</body>
</html>

Certamente, nosso primeiro código, que contém o componente “btn-treinaweb”, está visivelmente mais agradável e a leitura do documento fica muito mais fácil, comparado ao segundo.

Além disso, a praticidade de aplicarmos apenas uma classe que nomeamos de “btn-treinaweb” e como resultado, já temos o nosso botão estilizado da maneira que queremos, é uma grande vantagem.

Conclusão

Agora que aprendemos a criar nossos componentes, podemos economizar muito tempo durante o desenvolvimento do nosso projeto, com a reutilização de códigos.

Não pare por aqui, desenvolva um projeto e aplique seus componentes para que o aprendizado fique fixado em sua mente.

Caso queira aprender mais sobre Front-end e sua infinidade de recursos saiba que aqui na TreinaWeb temos a formação completa, desde HTML5 e CSS3 até JavaScript que possui 75h26 de vídeo e um total de 494 exercícios.

Veja quais são os cursos abordados durante a formação Front-end:

  • HTML5 + CSS3 - Básico ao avançado
  • Google Chrome Develeper Tools
  • JavaScript - Básico ao avançado
  • CSS - Sass
  • UX/UI - Introdução
  • Acessibilidade - Introdução; Criando interfaces e conteúdos acessíveis; Desenvolvendo sites acessíveis
Continue lendo

Artigos relacionados

Um ano de acesso total para você viver de programação.

Todos os cursos e formações da TreinaWeb numa única assinatura, com professores que atuam no mercado, suporte direto e certificados. Do primeiro console.log ao mercado de trabalho.

  • 1 ano de acesso a todos os cursos
  • Cursos novos toda semana
  • Suporte direto com professores
  • Plano de carreira personalizado
  • Certificados digitais inclusos
  • Aplicativos para Android e iOS, com acesso offline
Garantia incondicional de satisfação

Teste por 7 dias e, se não fizer sentido para você, devolvemos seu dinheiro.

Acesso completo a todos os cursos e dezenas de Formações.

12 meses
Economize R$ 840,00 54% OFF

de 12x R$ 129,00 por apenas

12x R$ 59,00

sem juros no cartão de crédito ou R$ 708,00 à vista

Oferta termina em 05h 42min 58s

  • Acesso imediato e ilimitado durante 1 ano.
  • Plano de carreira personalizado.
  • Suporte direto com professores.
  • E muito mais!
Matricule-se agora