O Tailwind CSS vem ganhando bastante popularidade desde seu lançamento em Novembro de 2017. Desde então já foram geradas mais de 190 releases, além disso o projeto já conta com mais de 54 mil estrelas no GitHub. Mas apesar desta popularidade toda ainda existem muitos desenvolvedores que não sabem por onde começar. Se você é um destes desenvolvedores fique tranquilo, pois neste Post você aprenderá tudo que precisa para criar seu primeiro projeto com Tailwind CSS.
Introdução
Antes de colocarmos a mão na massa é importante entender o que é o Tailwind e qual é a filosofia por trás do framework, já que ele segue uma ideia bem diferente de outros frameworks CSS como o Bootstrap.
O que é Tailwind CSS?
O Tailwind é um framework CSS que segue a filosofia Utility First, ou seja, ao invés de ter componentes prontos como o Bootstrap ele te fornece várias classes utilitárias para que você mesmo construa seus componentes.
Diferenças entre Tailwind vs Bootstrap
Fazendo uma comparação entre as classes destes dois frameworks, é muito fácil perceber a diferença. Enquanto o Bootstrap tem classes como card
, navbar
e button
que fornecem a estilização completa de um componente, o Tailwind tem classes como flex
, flex-col
, my-2
, mx-2
onde cada classe representa mudanças bem menores na estilização de modo que combinando estas classes é possível construir layouts mais dinâmicos sem ter a necessidade de sobrescrever a estilização padrão do framework. Aliás, a ideia é que você nem precise escrever CSS.
Tailwind Playground
O Tailwind fornece um ambiente de playground para você se familiarizar com o framework sem ter que lidar com instalação ou configurações adicionais. Para acessar o playground acesse a página inicial do Tailwind, clique em Get Started e em seguida clique no link Playground localizado do lado esquerdo da tela.
Ao acessar o playground você perceberá que já existe algo criado, antes de apagar todo o conteúdo e começar a criar seus próprios layouts sinta-se a vontade para dar uma boa olhada nas classes que estão sendo utilizadas. Vale ressaltar que ao passar o cursor do mouse sobre as classes é possível ver as propriedades CSS que elas utilizam.
Criando um Balão de Notificação no Tailwind Playground
Agora que você já se familiarizou um pouco com o conceito de Utility First, vamos sair da teoria e ver na prática como construir um componente de notificação utilizando as classes do Tailwind. Para isso copie o código abaixo e cole no editor do playground:
<!-- container da página --> <div class="w-screen h-screen bg-slate-100"> <!-- balão de notificação --> <div class="p-4 max-w-sm mx-auto bg-white rounded-xl shadow-lg"> <div> <h3 class="text-xl font-medium text-black">Notification</h3> <p class="text-slate-500">You have a new message!</p> </div> </div> </div>
Se deu tudo certo você deve estar vendo algo como na imagem abaixo:
Na primeira div utilizei as classes w-screen
e h-screen
para ocupar toda a largura e altura disponíveis, em seguida utilizei a classe bg-slate-100
para aplicar uma cor de fundo.
Na segunda div utilizei a classe p-4
para aplicar um padding tando horizontal quanto vertical, a classe max-w-sm
serve para limitar a largura do balão de notificação em 24rem, mx-auto
aplica uma margem automática na horizontal centralizando o componente, bg-white
muda a cor de fundo para branco, rounded-xl
arredonda as bordas do componente e shadow-lg
aplica um efeito de sombreamento.
No h3 eu utilizei a classe text-xl
para aumentar o tamanho do texto, font-medium
para dar mais destaque ao texto e text-black
para mudar a cor do texto. No p eu utilizei a classe text-slate-500
para deixar o texto com uma cor mais clara.
Criando um projeto NuxtJS com Tailwind
Chegou o momento de criarmos um projeto real com Tailwind e fazermos algumas configurações customizadas.
Para criar um novo projeto NuxtJS abra seu terminal e digite o comando npx create-nuxt-app nome-do-projeto
, assim que o CLI inicializar selecione as opções como na imagem abaixo:
Agora para instalar o Tailwind copie o código abaixo e cole no terminal:
npm install -D tailwindcss postcss@latest autoprefixer@latest @nuxt/postcss8
Em seguida execute o comando npx tailwindcss init
para criar o arquivo tailwind.config.js
Abra o arquivo e edite a sessão content:
module.exports = { content: [ './components/**/*.{js,vue,ts}', './layouts/**/*.vue', './pages/**/*.vue', './plugins/**/*.{js,ts}', './nuxt.config.{js,ts}', ], theme: { extend: {}, }, plugins: [], }
Abra o arquivo nuxt.config.js
para habilitar o plugin postCSS e edite a sessão buildModules
:
export default { buildModules: [ '@nuxt/postcss8', // ... ], }
Na sessão build
adicione as seguintes configurações:
export default { build: { postcss: { plugins: { tailwindcss: {}, autoprefixer: {}, }, }, }, }
Crie um arquivo chamado main.css
no caminho /assets/css/
e faça o import das camadas do Tailwind:
@tailwind base; @tailwind components; @tailwind utilities;
Por fim altere a sessão css do arquivo nuxt.config.js
:
export default { css: ['@/assets/css/main.css'], }
Com isso finalizamos a instalação do Tailwind no projeto. O próximo passo será customizar as configurações padrões do Tailwind para definirmos uma paleta de cores e a fonte do projeto.
Customizando o Tema Padrão do Tailwind
Alterando as configurações do arquivo tailwind.config.js
é possível estender ou sobrescrever as definições padrão do Tailwind como cores, fontes e até mesmo os breakpoints de responsividade.
Adicionando Cores Personalizadas
Para adicionar novas cores ao Tailwind abra o arquivo tailwind.config.js
e dentro da sessão extend adicione o código abaixo:
module.exports = { ... theme: { extend: { colors: { midnight: '#121063', metal: '#565584', 'tahiti': { 100: '#cffafe', 200: '#a5f3fc', 300: '#67e8f9', 400: '#22d3ee', 500: '#06b6d4', 600: '#0891b2', 700: '#0e7490', 800: '#155e75', 900: '#164e63', } } }, } }
As cores podem ser configuradas em formato de chave-valor como a cor midnight
, ou em formato de objeto como a cor tahiti
. A grande diferença é que o formato de objeto permite que sejam definidos vários tons para uma mesma cor, na prática significa que será possível utilizar a variação text-tahiti-500
por exemplo.
Adicionando Uma Nova Fonte
Para adicionar uma nova fonte é preciso fazer o download do arquivo da fonte e colocá-lo na pasta /assets/fonts
. Em seguida abra o arquivo /assets/css/main.css
e estenda a configuração de font-family na camada base
do Tailwind como no exemplo abaixo:
@layer base { @font-face { font-family: 'Inter'; src: url('../fonts/Inter-Regular.ttf') format('ttf'); font-weight: 400; font-display: swap; } }
Agora volte ao arquivo tailwind.config.js
e adicione o código abaixo dentro da sessão extend:
module.exports = { ... theme: { extend: { ... fontFamily: { inter: 'Inter, sans-serif' } }, }, plugins: [], }
Com isso podemos utilizar a classe font-inter
para aplicar a fonte personalizada.
Dica Extra: Extensão Oficial para Visual Studio Code
A equipe do Tailwind desenvolveu uma extensão para o Visual Studio Code que habilita o recurso de auto complete das classes, além de exibir as propriedades CSS de cada classe quando passamos o cursor do mouse sobre elas da mesma forma que acontece no Tailwind Playground.
Para instalar a extensão acesse a guia de extensões do Visual Studio Code e pesquise por "Tailwind CSS IntelliSense" e instale a extensão exibida na imagem abaixo:
E assim chegamos ao fim deste tutorial, espero que você tenha gostado 😉
Comente aqui em baixo se você quer ver mais tutoriais sobre Tailwind 👇🏻👇🏻👇🏻
Top comments (0)