Utilizando Bordas e Contornos com Tailwind

Utilizando Bordas e Contornos com Tailwind

A estilização de aplicações é um conceito importantíssimo na vida de quem tem em seu dia a dia o desenvolvimento front-end. Uma boa estruturação para o seu site é fundamental, mas se ele não agradar aos olhos de quem o utiliza, não garantirá que este usuário vá embora e procure por uma aplicação melhor e mais bonita.

Sob essa necessidade, seria quase impossível que não surgissem formas de lidar com o CSS que facilitassem cada vez mais o seu uso e, hoje, aprenderemos dentro do Tailwind a utilizar bordas e contornos.

Um pouco mais sobre o Tailwind CSS

O Tailwind CSS é um framework criado por Adam Wathan com o intuito de, como já foi mencionado, tornar mais prática a interação com o CSS. Por meio desta ferramenta, a estilização deixa de ser realizada através de classes criadas em arquivos separados (que por sua vez possuem vários atributos) para classes que possuem uma única funcionalidade, como tornar a cor de fundo de um elemento preta, ou transformar o texto de um elemento em negrito. Esta forma de arquitetura de classes é chamada de Atomic CSS.

Antes que você comece a imaginar que isto pode se tornar complexo demais ao invés de facilitar a estilização, te convido a dar uma olhada na documentação do Tailwind CSS e ficar surpreso com o quanto é fácil achar exatamente qualquer implementação que você queira fazer no estilo da sua página e ainda mais: o quanto é prático criar atributos, caso você não encontre exatamente o que você deseja (embora eu julgue muito difícil que isso aconteça).

Se isso tudo ainda não te convenceu, todo o processo de estilização do Tailwind é focado no conceito mobile-first e a recursividade dentro desta ferramenta é infinitamente mais fácil do que se você estivesse fazendo com o CSS puro: é necessário apenas utilizar junções entre as classes com palavras que representem determinados tamanhos de tela.

O Tailwind CSS é para todos!

Na documentação do Tailwind CSS existem diversas formas de instalá-lo, de acordo com a tecnologia que você está utilizando e com cada uma que a ferramenta possui compatibilidade (e são muitas). Siga o passo a passo clicando no botão Get started na tela principal.

Figura 1 - Guia de instalação do Tailwind na sua documentação.

Bordas

A propriedade border dentro do CSS proporciona formas de estilização para bordas ao redor dos elementos HTML, podendo ser possível escolher para quais lados ela existirá, qual a forma de contorno, cor, espessura e etc. Por consequência e fazendo jus ao modelo Atomic CSS, o Tailwind possui diversas classes para este conjunto de propriedades relacionadas ao border, sendo estas as que abordaremos neste momento.

Utilize a classe border para habilitar todas as funcionalidades relacionadas a ela. Enquanto você não aplicar nenhuma outra classe de estilização de bordas além desta, uma borda sólida personalizada será criada, conforme no exemplo a seguir:

Figura 2 - Estrutura inicial do projeto utilizando apenas a classe border.


Figura 3 - Execução do código da Figura 2 em um Browser.


Border Width

O Border Width corresponde ao tamanho ou espessura que sua borda possuirá. A documentação proporciona diversas possibilidades e citarei as principais estruturas de classe para aplicar espessuras no Tailwind CSS:

  • border-{tamanho} - criando uma classe com esta estrutura, você atribui uma espessura padrão para todas as imagens, sendo “tamanho” um dos tamanhos disponibilizados pelo Tailwind;
  • border-{lado}-{tamanho} - também é possível criar uma espessura específica apenas para um lado: substitua “lado” por “l”(esquerda), “r”(direita), “t”(cima) ou “b”(baixo), lembrando que “tamanho” também deve ser alterado de maneira análoga à estrutura anterior;
  • border-{eixo}-{tamanho} - é possível estilizar dois lados por vez (esquerda e direita substituindo “eixo” por “x”, cima e baixo substituindo “eixo” por “y”).

Para exemplificar, utilizaremos as três formas na aplicação da Figura 1, substituindo a classe border pelas seguintes classes:

Figura 4 - Alterando a classe “border” para classes personalizadas de espessura.

Figura 5 - Código da Figura 4 em execução no Browser.
💡
OBS: Caso não haja um tamanho de espessura que você deseje, você pode alterar o “tamanho” dos exemplos anteriores criando sua própria espessura, inserindo o tamanho entre colchetes, como por exemplo border-y-[20px].

Border Color

Como o próprio nome já sugere, o Border Color é responsável por alterar a cor de uma borda. Para alterar a cor, podemos criar classes de forma análoga às estruturas demonstradas para Border Width, substituindo agora “tamanho” por uma cor, conforme demonstraremos a seguir:

Figura 6 - Criando cores para as bordas da aplicação.

Figura 7 - Código da Figura 6 em execução no Browser.

Todas as imagens que utilizei (bem como todas as que estão disponíveis ao se utilizar o Tailwind) podem ser encontradas em sua documentação, então não precisa ficar tentando adivinhar qual a estrutura de cores a ferramenta aceita, é só ir lá e dar uma olhadinha. Todavia, se nenhuma das cores lhe agradarem, você pode seguir a mesma estrutura de criação apresentada para o caso de não existir uma espessura desejada, substituindo “tamanho” pelo código da cor, como por exemplo border-y-[#243c5a].

Border Style

Como você pôde notar, todas as bordas que utilizamos até então são sólidas. Todavia, não precisamos nos ater apenas a este estilo de borda (ela é apenas a forma estilizada por padrão quando não definimos outras formas). Ao total, existem quatro estilos de borda disponíveis, sendo eles:

  • border-solid - é o estilo que já conhecemos e que preenche todo o contorno da borda;
  • border-dashed - cria um estilo tracejado para a borda;
  • border-dotted - define um estilo pontilhado para a borda;
  • border-double - cria duas bordas sólidas ao redor do elemento.
Figura 8 - Alterando os estilos das bordas.

Figura 9 - Código da Figura 8 em execução no Browser.

Border Radius

Utilizamos o Border Radius quando queremos arredondar os extremos das bordas de um elemento. A estrutura de classes a serem implementadas para este fim são parecidas com as apresentadas para Border Width e Border Color, com a diferença que é necessário alterar border para rounded e “tamanho” por um dos prefixos “sm”, “md”, “lg”, “xl”, “2xl”, “3xl” ou “full”.

Figura 10 - Aplicando Border Radius nas bordas da aplicação.

Figura 11 - Código da figura 10 em execução no Browser.

Contornos

O conceito de contorno é muito parecido com o de borda, com diferenças muito pontuais. A mais importante delas é que, ao contrário das bordas, os contornos não ocupam espaços do elemento, sendo eles construídos acima deles.

Aplicamos os conceitos de espessura, cor e estilo de maneira análoga ao que fizemos até aqui com bordas, com a diferença de que as estilizações para contornos são aplicadas para todos os lados do mesmo. Desta maneira, temos as estruturas resumidas a outline-{espessura}, outline-{cor} e outline-{estilo}:

Figura 12 - Criando contornos para os elementos “button” da aplicação.
Figura 13 - Código da figura 12 em execução no Browser.

Fácil demais, não acha? Agora que temos uma base para a estrutura das classes do Tailwind relacionadas a este tipo de estilização, aos poucos vamos nos familiarizando cada vez mais sobre como implementar mais e mais classes, utilizando as outras que já aprendemos como base. É importante apenas destacar que, para a espessura de um contorno, utilizamos os valores 0, 1, 2, 4 e 8. Para além de qualquer outro valor necessário, você pode criar novos valores da mesma forma que para as bordas, como por exemplo outline-[20px].

Além disso, para estilos, não existe uma classe outline-solid como existe para bordas. Para tal, basta utilizar a classe outline, sem nenhum outro prefixo, como foi feito no código da figura 12.

Por fim, existem classes que criam espaçamentos entre o limite do conteúdo e o contorno, que fica além dele. As classes que têm esta função possuem a estrutura outline-offset-{valor}, onde para valor podem ser atribuídos 0, 2, 4 e 8 (você também pode criar um valor adicional com a mesma lógica descrita no parágrafo anterior).

Figura 14 - Criação de espaçamentos entre o contorno e o conteúdo de um elemento.

Figura 15 - Código da figura 14 em execução no Browser.

Utilizando border-none e outline-none

Diante de todas as informações já apresentadas, ainda não falei das classes border-none e outline-none. Deixei para o fim deste artigo com o intuito de, mediante todas as classes que vimos e que personalizam contornos e bordas, também fique o conhecimento de que em algum momento seja necessário removê-las. As classes border-none e outline-none, respectivamente, removem a borda e o contorno. Abaixo, há um exemplo de aplicação para estas classes:

Figura 16 - Aplicando outline-none e border-none.

Figura 17 - Execução do código da figura 16 em um Browser.

Considerações finais

O Tailwind CSS é uma ferramenta muito fácil de se assimilar e, ao longo deste artigo, pude provar o quão fácil é aprender as estruturas das classes oferecidas e também personalizá-las. No mais, sugerimos que você pratique o máximo de bordas e contornos que puder para assentar o conteúdo.

Caso queira tirar quaisquer dúvidas ou somente trocar uma ideia sobre esses e mais assuntos de outra forma, você também pode entrar em contato comigo pelo e-mail bruno.cabral.silva2018@gmail.com ou pelo meu perfil do LinkedIn.

Bons estudos e até a próxima!

💡
As opiniões e comentários expressos neste artigo são de propriedade exclusiva de seu autor e não representam necessariamente o ponto de vista da Revelo.

A Revelo Content Network acolhe todas as raças, etnias, nacionalidades, credos, gêneros, orientações, pontos de vista e ideologias, desde que promovam diversidade, equidade, inclusão e crescimento na carreira dos profissionais de tecnologia.