O valor clamp() para 16–20px
Com uma faixa de viewport de 320px a 1280px, o resultado é clamp(1rem, 0.9167rem + 0.4167vw, 1.25rem). O tamanho cresce 0,42px a cada 100px de largura do viewport: chega a cerca de 17,9px em um tablet de 768px e a 18,9px em 1024px, e se fixa em 20px a partir de 1280px.
O valor preferido combina uma parte fixa em rem com uma parte em vw. A parte em rem mantém o texto ligado ao tamanho de fonte do navegador do leitor; a parte em vw garante o crescimento. Altere os campos de viewport acima se o contêiner do seu layout parar de crescer antes ou depois.
Quando usar de 16px a 20px
De 16 a 20px é uma faixa clássica para o texto corrido de sites de conteúdo. No celular fica o padrão de 16px do navegador, enquanto quem lê no desktop ganha um tamanho maior, adequado a linhas mais longas. Blogs, documentação e artigos longos são os mais beneficiados.
O máximo é 1,25× o mínimo, dentro da diretriz de 2,5× que costuma ser aplicada ao critério WCAG 1.4.4 Redimensionar texto, então o zoom do navegador continua ampliando esse tamanho de forma previsível.
De onde vêm os números
Inclinação = (20 − 16) ÷ (1280 − 320) = 0,0042, ou seja, 0,4167vw. Intercepto = 16 − inclinação × 320 = 14,67px, ou 0,9167rem com fonte raiz de 16px. Esses dois números formam o argumento do meio do clamp(); o primeiro e o último são o seu mínimo e o seu máximo convertidos para rem.
Como usar no seu projeto
Cole o valor em uma declaração font-size, guarde-o em uma propriedade personalizada como --fluid-size ou use a classe do Tailwind text-[clamp(1rem,0.9167rem_+_0.4167vw,1.25rem)]. Se precisar de um conjunto completo de tamanhos relacionados, o gerador de escala tipográfica cria passos em torno de um tamanho base com a mesma faixa de viewport.