Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Variáveis CSS não estão funcionando para tamanhos de tela

Olá.

Nessa aula o instrutor mostrou como customizar a seção de screens no Tailwind.

No globals.css, ele definiu as seguintes variáveis:

    --screen-mobile: 640px;
    --screen-tablet: 1024px;
    --screen-desktop: 1440px;
    --screen-tv: 1920px;

E no tailwind.config.ts, usou essa variáveis na seção de screens:

theme: {
    screens: {
      mobile: 'var(--screen-mobile)',
      tablet: 'var(--screen-tablet)',
      desktop: 'var(--screen-desktop)',
      tv: 'var(--screen-tv)',
    },
}

Por fim, ele demonstrou o uso no componente Button, adicionando tablet:text-sm no className:

className={`
    bg-primary rounded-[8px] px-[32px] py-[12px] text-[#FFF] tablet:text-sm
    ${className}
`}

No entanto, ele não mostrou o resultado visualmente, o que foi estranho. Então, quando testei no Storybook, isso não funcionou. Testei para todas as variações de tela, mobile, tablet, desktop e tv, sem sucesso.

Fiz um teste e, ao invés de usar as variáveis CSS definidas em globals.css, eu coloquei os tamanhos diretamente no tailwind.config.ts:

theme: {
    screens: {
      'mobile': '640px', 
      'tablet': '1024px', 
      'desktop': '1440px', 
      'tv': '1920px', 
    },
}

Para minha surpresa, isso funcionou.

Fica então a minha dúvida: por que para cores o Tailwind entende variáveis CSS, mas para tamanhos de tela não?

Obrigado.

1 resposta
solução!

Olá, Matheus! Como vai?

Obrigado por trazer essa questão tão detalhadamente. Você está correto ao notar essa diferença. O Tailwind consegue resolver variáveis CSS para propriedades como cores porque essas são processadas diretamente pelo navegador, mas para tamanhos de tela, ele precisa dos valores específicos em pixels na configuração. Esse é um ponto que passou despercebido, e agradecemos por apontá-lo.

Pedimos desculpas pela demora na resposta. Já adicionamos uma nota na aula para esclarecer essa limitação e evitar confusões para os próximos alunos.

O fórum está sempre à disposição para qualquer dúvida ou para compartilhar mais insights!

Abraços :)