Adicionando suporte de tipografia fluida aos temas de blocos do WordPress PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.

Adicionando suporte de tipografia fluida aos temas de bloco do WordPress

A tipografia fluida é uma maneira extravagante de “descrever propriedades de fonte, como tamanho ou altura da linha, que escalam fluidamente de acordo com o tamanho da janela de visualização”. Isso é também conhecido por outros nomes, como tipografia responsiva, tipo flexível, tipo fluido, tipografia do tamanho da janela de visualização, tipografia fluida e até mesmo texto de exibição responsivo.

Aqui está um exemplo de tipografia fluida que você pode tocar ao vivo (cortesia de Documentação MDN). CSS-Tricks cobriu tipografia fluida extensivamente também. Mas o objetivo aqui não é apresentar a tipografia fluida, mas como usá-la. Mais especificamente, quero mostrar como implementar tipografia fluida no WordPress 6.1, que recentemente introduziu um recurso de tipo fluido diretamente no WordPress Block Editor.

Abra o seu style.css arquivo, tapa em uma regra de estilo com fantasia clamp()-indo no font-size propriedade, e pronto para ir, certo? Claro, isso lhe dará um texto fluido, mas para obter controles do Block Editor que possibilitam aplicar o tipo fluido em qualquer lugar do seu site WordPress? Isso requer uma abordagem diferente nestes dias de bloqueio.

Suporte de tipografia fluida em Gutenberg

Alguns desenvolvedores de temas WordPress têm usado o clamp() função para definir um fluido font-size, em seus temas do WordPress, mesmo em temas de “bloqueio” mais recentes, como Vinte e Vinte e Dois, Vinte e vinte e três, E outros.

Mas o plugin Gutenberg - aquele que contém desenvolvimento experimental para os recursos do WordPress Block e Site Editor - introduziu suporte para tipografia fluida começando na versão 13.8. Isso abriu a porta para a implementação em nível de tema para que o tipo de fluido possa ser aplicado a elementos e blocos específicos diretamente no Editor de Blocos. CSS-Tricks recebeu até um grito no Solicitação de pull que fundiu o recurso.

Esse trabalho tornou-se parte do WordPress Core em Wordpress 6.1. Rich Tabor, um dos primeiros defensores da tipografia fluida no Block Editor, diz:

A [tipografia fluida] também faz parte de tornar o WordPress mais poderoso, embora não seja mais complicado (o que todos sabemos que é um grande desafio). […] A tipografia fluida simplesmente funciona. Na verdade, acho que funciona muito bem.

Esta Faça destaques de postagens do WordPress a abordagem adotada para oferecer suporte ao recurso no nível do bloco para que um tamanho de fonte fluido seja aplicado aos blocos dinamicamente por padrão. Há alguns benefícios para isso, é claro:

  • Ele fornece uma maneira para os autores de temas ativarem a tipografia fluida sem se preocupar em implementá-la no código.
  • Aplica tipografia fluida a entidades tipográficas específicas, como elementos ou blocos de forma sustentável e reutilizável.
  • Permite flexibilidade em termos de unidades de tamanho de fonte (por exemplo, px, rem, em e %).

Agora que esse novo recurso está disponível no WordPress Block Editor por padrão, os autores do tema podem aplicar tipografia fluida uniforme sem escrever código adicional.

Blocos que suportam configurações de tipografia e espaçamento

Gutenberg 14.1 lançado em 16 de setembro de 2022, e introduziu configurações tipográficas em vários blocos. Isso significa que as configurações de texto para esses blocos foram definidas em CSS antes e tiveram que ser alteradas em CSS também. Mas esses blocos agora fornecem controles de fonte e espaçamento na interface do Editor de blocos.

Adicionando suporte de tipografia fluida aos temas de bloco do WordPress

Esse trabalho está programado para ser adicionado ao WordPress 6.1, conforme detalhado em esta postagem no blog Make WordPress. E com ele é um número ampliado de blocos que com suporte de tipografia.

Lista ilustrada de 60 blocos WordPress ganhando suporte para tipografia e tamanho de fonte no WordPress 6.1.
Blocos do WordPress que suportarão configurações de tipografia na próxima versão do WordPress 6.1.

Declarando o tipo fluido em um tema de bloco do WordPress

Então, como podemos usar essa nova tipografia fluida no WordPress? A resposta está em theme.json, um novo arquivo específico para bloquear temas que contém várias configurações de temas em pares chave:valor.

Vejamos uma regra para uma fonte grande em theme.json onde contentSize: 768px e estamos trabalhando com um widesize: 1600px disposição. É assim que podemos especificar um CSS font-size usando o clamp() função:

"settings": {
  "appearanceTools": true,
  "layout": {
    "contentSize": "768px",
    "wideSize": "1600px"
  },
  "typography": {
    "fontSizes": [ 
      {
        "name": "Large",
        "size": "clamp(2.25rem, 6vw, 3rem)",
        "slug": "large"
      }
    ]
  }
}

A partir do WordPress 6.1, apenas rem, em e px unidades são suportadas.

Isso é ótimo e funciona, mas com o novo recurso de tipo de fluido, usaríamos uma abordagem diferente. Primeiro, optamos pela tipografia fluida em settings.typography, que tem um novo fluid propriedade:

"settings": {
  "typography": {
    "fluid": true
  }
}

Em seguida, especificamos nosso settings.fontSizes como antes, mas com um novo fluidSize propriedade onde podemos definir o min e max valores de tamanho para nossa faixa de tipo de fluido.

"settings": {
  "appearanceTools": true,
  "layout": {
    "contentSize": "768px",
    "wideSize": "1600px"
  },
  "typography": {
    "fontSizes": [ 
      {
        "size": "2.25rem",
        "fluidSize": {
          "min": "2.25rem",
          "max": "3rem"
        },
        "slug": "large",
        "name": "Large"
      }
    ]
  }
}

É isso mesmo. Acabamos de adicionar o tipo fluido a um tamanho de fonte chamado “Large” com um intervalo que começa em 2.25rem e escala até 3rem. Agora, podemos aplicar a fonte “Large” a qualquer bloco com configurações de fonte.

Como isso funciona sob o capô? Rich Tabor oferece uma boa explicação, como faz esta solicitação de pull no GitHub. Em suma, o WordPress converte o theme.json properties na seguinte regra CSS:

.has-large-font-size {
  font-size: clamp(36px, calc(2.25rem + ((1vw - 7.68px) * 1.4423)), 48px);
}

…que é aplicado ao elemento, digamos um Bloco de Parágrafo:

...

Inicialmente, achei difícil entender e envolver em minha mente o conceito do CSS clamp() função sem também aprender sobre o min(), max() e calc() funções. Esta ferramenta calculadora me ajudou bastante, especialmente para determinar quais valores usar em meus próprios projetos temáticos.

Para fins de demonstração, vamos usar a calculadora para definir nosso font-size alcance para que o tamanho seja 36px num 768px largura da janela de visualização e 48px num 1600px largura da janela de visualização.

Inserindo valores na calculadora online para tipografia fluida.
Adicionando suporte de tipografia fluida aos temas de bloco do WordPress

A calculadora gera automaticamente o seguinte CSS:

/* 36px @ 768px increasing to 48px @ 1600px */
font-size: clamp(36px, calc(2.25rem + ((1vw - 7.68px) * 1.4423)), 48px);

A calculadora oferece opções para selecionar unidades de entrada como px, rem e em. Se selecionarmos rem unidade, a calculadora gera o seguinte clamp() valor:

/* 2.25rem @ 48rem increasing to 3rem @ 100rem */
font-size: clamp(2.25rem, calc(2.25rem + ((1vw - 0.48rem) * 1.4423)), 3rem);

Assim, esses valores mínimo e máximo correspondem ao fluidSize.min e fluidSize.max valores em theme.json. O min valor é aplicado em viewports que são 768px largo e abaixo. Então o font-size aumenta à medida que a largura da janela de visualização aumenta. Se a janela de visualização for maior que 1600px, max é aplicado e o font-size é tampado lá.

Exemplos

Tem instruções de teste detalhadas no Pull Request mesclado que introduziu o recurso. Existem ainda mais instruções de teste de Post de pré-lançamento de Justin Tadlock no Make WordPress.

Exemplo 1: definindo uma nova configuração de fonte fluida

Vamos começar com o conjunto de instruções de Justin. Eu usei em uma versão modificada do padrão Vinte e vinte e três tema que está atualmente em desenvolvimento.

Primeiro, vamos ter certeza de que estamos executando o plug-in Gutenberg (13.8 e superior) ou WordPress 6.1 e, em seguida, opte pelo tipo fluido no settings.typography.fluid propriedade no theme.json arquivo:

{
  "version": 2,
  "settings": {
    "appearanceTools": true,
    "layout": {
      "contentSize": "768px",
      "wideSize": "1600px"
    },
    "typography": {
      "fluid": true
    }
  }
}

Agora, vamos largar o settings.typography.fontSizes exemplos aí:

{
  "version": 2,
  "settings": {
    "appearanceTools": true,
    "layout": {
      "contentSize": "768px",
      "wideSize": "1600px"
    },
    "typography": {
      "fluid": true
      "fontSizes": [
        {
          "name": "Normal",
          "size": "1.125rem",
          "fluid": {
            "min": "1rem",
            "max": "1.5rem"
          },
          "slug": "normal"
        }
      ]
    }
  }
}

Se tudo estiver funcionando corretamente, agora podemos entrar no WordPress Block Editor e aplicar a configuração de fonte “Normal” ao nosso bloco:

A interface do WordPress Block Editor mostrando um bloco de parágrafo e as configurações de tipografia fluida para ele.
Adicionando suporte de tipografia fluida aos temas de bloco do WordPress

Agradável! E se salvarmos e inspecionarmos esse elemento no front-end, esta é a marcação:

Inspecionando o bloco de parágrafo do WordPress no DevTools.
Adicionando suporte de tipografia fluida aos temas de bloco do WordPress

Muito bom. Agora vamos ter certeza de que o CSS está realmente lá:

DevTools mostrando a propriedade personalizada do tamanho da fonte para a tipografia fluida do bloco de parágrafo do WordPress.
Adicionando suporte de tipografia fluida aos temas de bloco do WordPress

Bom Bom. Vamos expor essa propriedade customizada do CSS para ver se ela está realmente apertando as coisas:

Revelando o valor da propriedade customizada no DevTools, mostrando uma função de fixação CSS.

Parece que tudo está funcionando exatamente como queremos! Vejamos outro exemplo…

Exemplo 2: excluindo uma configuração de fonte do tipo fluido

Desta vez, vamos seguir o instruções da Pull Request mesclada com um aceno para este exemplo de Carolina Nymark que mostra como podemos desabilitar o tipo fluido em uma configuração de fonte específica.

Eu usei o tema vazio conforme indicado nas instruções e abriu o theme.json arquivo para teste. Primeiro, optamos pelo tipo de fluido exatamente como fizemos antes:

{
  "version": 2,
  "settings": {
    "appearanceTools": true,
    "layout": {
      "contentSize": "768px",
      "wideSize": "1000px"
    },
    "typography": {
      "fluid": true
    }
  }
}

Desta vez, estamos trabalhando com menores wideSize valor de 1000px em vez de 1600px. Isso deve nos permitir ver o tipo de fluido funcionando em uma faixa exata.

OK, vamos definir alguns tamanhos de fonte personalizados em settings.typography.fontSizes:

{
  "version": 2,
  "settings": {
    "typography": {
      "fluid": true,
      "fontSizes": [
        {
          "size": ".875rem",
          "fluid": {
            "min": "0.875rem",
            "max": "1rem"
        },
          "slug": "small",
          "name": "Small"
        },
        {
          "size": "1rem",
          "fluid": {
            "min": "1rem",
            "max": "1.5rem"
          },
          "slug": "normal",
          "name": "Normal"
        },
        {
          "size": "1.5rem",
          "fluid": {
            "min": "1.5rem",
            "max": "2rem"
          },
          "slug": "large",
          "name": "Large"
        },
        {
          "size": "2.25rem",
          "fluid": false,
          "slug": "x-large",
          "name": "Extra large"
        }
      ]
    }
  }
}

Observe que aplicamos o recurso de tipo fluido apenas nas configurações de fonte "Normal", "Média" e "Grande". “Extra Large” é o estranho onde o fluid objeto está definido para false.

a interface do WordPress Block Editor com quatro blocos de parágrafo, cada um com uma configuração de tamanho de fonte diferente.
Adicionando suporte de tipografia fluida aos temas de bloco do WordPress

O que o WordPress faz a partir daqui — através do Motor estilo Gutenberg — é aplicar as propriedades que definimos no CSS clamp() funções para cada configuração de tamanho de fonte que optou pelo tipo fluido e um valor de tamanho único para a configuração Extra Grande:

--wp--preset--font-size--small: clamp(0.875rem, 0.875rem + ((1vw - 0.48rem) * 0.24), 1rem);
--wp--preset--font-size--medium: clamp(1rem, 1rem + ((1vw - 0.48rem) * 0.962), 1.5rem);
--wp--preset--font-size--large: clamp(1.5rem, 1.5rem + ((1vw - 0.48rem) * 0.962), 2rem);
--wp--preset--font-size--x-large: 2.25rem;

Vamos verificar a marcação no front-end:

Inspecionando os blocos de parágrafo do WordPress no DevTools.
Adicionando suporte de tipografia fluida aos temas de bloco do WordPress

Bom começo! Vamos confirmar que o .has-x-large-font-size classe é excluída do tipo de fluido:

Mostrando a propriedade personalizada font-size para a configuração de fonte Extra Large no DevTools.
Adicionando suporte de tipografia fluida aos temas de bloco do WordPress

Se expormos o --wp--preset--font-size--x-large variável, veremos que está definido como 2.25rem.

Revelando o valor da propriedade personalizada tamanho da fonte Extra Large, mostrando 2.25rem.
Adicionando suporte de tipografia fluida aos temas de bloco do WordPress

É exatamente isso que queremos!

Temas de bloco que suportam tipografia fluida

Muitos temas do WordPress já fazem uso do clamp() função para tipo fluido em temas de bloco e clássicos. Um bom exemplo de uso de tipografia fluida é o recém-lançado Vinte e vinte e três tema padrão.

Revisei todos os temas de bloco de Diretório de temas de bloco do WordPress, examinando theme.json arquivo de cada tema e para ver quantos temas de bloco atualmente suportam tipografia fluida - não o novo recurso, pois ainda está no plug-in Gutenberg no momento da redação deste artigo - usando o CSS clamp() função. Dos 146 temas que revisei, a maioria deles utilizou um clamp() função para definir o espaçamento. Um pouco mais da metade deles usou clamp() para definir tamanhos de fonte. o Alara o tema é o único a usar clamp() para definir o tamanhos de contêiner de layout.

Compreensivelmente, apenas alguns temas lançados recentemente contêm o novo recurso de tipografia fluida. Mas aqui estão os que eu encontrei que o definem em theme.json:

E se você leu meu post anterior aqui sobre CSS-Tricks, o Blocos Gopher TT2 O tema que usei para a demonstração também foi atualizado para oferecer suporte ao recurso de tipografia fluida.

Reações selecionadas aos recursos de tipografia fluida do WordPress

Ter tipografia fluida no WordPress no nível de configurações é super empolgante! Eu pensei em compartilhar alguns pensamentos de pessoas da comunidade de desenvolvedores do WordPress que comentaram sobre isso.

Matias Ventura, o principal arquiteto do projeto Gutenberg:

Tabor Rico:

Como um dos maiores esforços para tornar a publicação de páginas maravilhosamente ricas no WordPress, a tipografia fluida é uma grande experiência para quem constrói com o WordPress – e para quem consome o conteúdo.

Desenvolvedor automático Ramon Dodd comentou na solicitação de pull:

Compare essa ideia com tamanhos de fonte que respondem a tamanhos de janela de visualização específicos, como aqueles definidos por consultas de mídia, mas não faça nada entre esses tamanhos. theme.json já permite que os autores insiram seus próprios valores de tamanho de fonte fluida. Isso não vai mudar, mas este PR oferece isso para pessoas que não querem se preocupar com os detalhes da implementação.

Nick Croft, autor de GenesisWP:

Brian Garner, designer e principal defensor do desenvolvedor na WPEngine:

Alguns desenvolvedores think alguns recursos devem ser um opt-in. Jason Cristo da Automattic disse:

Adoro o poder da tipografia fluida, mas também não acredito que ela deva ser habilitada por padrão. Seu uso (e os detalhes dele) são importantes decisões de design que devem ser feitas com cuidado.

Você também pode encontrar um monte de comentários no site oficial instruções de teste para o recurso.

Resumindo

O recurso de tipografia fluida no WordPress é ainda em desenvolvimento ativo no momento desta escrita. Portanto, neste momento, os autores do tema devem continuar a usá-lo, mas com cautela e esperar algumas possíveis alterações antes de ser lançado oficialmente. Justin adverte autores de temas usando esse recurso e sugere ficar de olho nos dois problemas do GitHub a seguir:

Ainda há muito trabalho contínuo em tipografia e outras ferramentas WordPress relacionadas ao design. Se você estiver interessado, assista isso ticket do GitHub de rastreamento de tipografia e ferramentas de design relacionadas a problemas do GitHub.

Recursos

Eu usei os seguintes artigos ao pesquisar o tipo fluido e como o WordPress o está implementando como um recurso.

Tutoriais e opiniões

Truques de CSS

Carimbo de hora:

Mais de Truques CSS