<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Leo Thomas Monteiro</title>
    <description>The latest articles on DEV Community by Leo Thomas Monteiro (@lyramonteiro).</description>
    <link>https://dev.to/lyramonteiro</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F608582%2Ffe43dff5-7fe7-47df-8366-f7548f51d301.jpg</url>
      <title>DEV Community: Leo Thomas Monteiro</title>
      <link>https://dev.to/lyramonteiro</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/lyramonteiro"/>
    <language>en</language>
    <item>
      <title>[Boost]</title>
      <dc:creator>Leo Thomas Monteiro</dc:creator>
      <pubDate>Fri, 06 Nov 2026 14:46:32 +0000</pubDate>
      <link>https://dev.to/lyramonteiro/-2g2p</link>
      <guid>https://dev.to/lyramonteiro/-2g2p</guid>
      <description>&lt;div class="ltag__link--embedded"&gt;
  &lt;div class="crayons-story "&gt;
  &lt;a href="https://dev.to/lyramonteiro/figma-line-height-auto-nao-se-traduz-sozinho-no-browser-297" class="crayons-story__hidden-navigation-link"&gt;Figma: 'line-height: auto' não se traduz sozinho no Browser&lt;/a&gt;


  &lt;div class="crayons-story__body crayons-story__body-full_post"&gt;
    &lt;div class="crayons-story__top"&gt;
      &lt;div class="crayons-story__meta"&gt;
        &lt;div class="crayons-story__author-pic"&gt;

          &lt;a href="/lyramonteiro" class="crayons-avatar  crayons-avatar--l  "&gt;
            &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F608582%2Ffe43dff5-7fe7-47df-8366-f7548f51d301.jpg" alt="lyramonteiro profile" class="crayons-avatar__image" width="747" height="747"&gt;
          &lt;/a&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;div&gt;
            &lt;a href="/lyramonteiro" class="crayons-story__secondary fw-medium m:hidden"&gt;
              Leo Thomas Monteiro
            &lt;/a&gt;
            &lt;div class="profile-preview-card relative mb-4 s:mb-0 fw-medium hidden m:inline-block"&gt;
              
                Leo Thomas Monteiro
                
                
              
              &lt;div id="story-author-preview-content-4988578" class="profile-preview-card__content crayons-dropdown branded-7 p-4 pt-0"&gt;
                &lt;div class="gap-4 grid"&gt;
                  &lt;div class="-mt-4"&gt;
                    &lt;a href="/lyramonteiro" class="flex"&gt;
                      &lt;span class="crayons-avatar crayons-avatar--xl mr-2 shrink-0"&gt;
                        &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F608582%2Ffe43dff5-7fe7-47df-8366-f7548f51d301.jpg" class="crayons-avatar__image" alt="" width="747" height="747"&gt;
                      &lt;/span&gt;
                      &lt;span class="crayons-link crayons-subtitle-2 mt-5"&gt;Leo Thomas Monteiro&lt;/span&gt;
                    &lt;/a&gt;
                  &lt;/div&gt;
                  &lt;div class="print-hidden"&gt;
                    
                      Follow
                    
                  &lt;/div&gt;
                  &lt;div class="author-preview-metadata-container"&gt;&lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
            &lt;/div&gt;

          &lt;/div&gt;
          &lt;a href="https://dev.to/lyramonteiro/figma-line-height-auto-nao-se-traduz-sozinho-no-browser-297" class="crayons-story__tertiary fs-xs"&gt;&lt;time&gt;Nov 6&lt;/time&gt;&lt;span class="time-ago-indicator-initial-placeholder"&gt;&lt;/span&gt;&lt;/a&gt;
        &lt;/div&gt;
      &lt;/div&gt;

    &lt;/div&gt;

    &lt;div class="crayons-story__indention"&gt;
      &lt;h2 class="crayons-story__title crayons-story__title-full_post"&gt;
        &lt;a href="https://dev.to/lyramonteiro/figma-line-height-auto-nao-se-traduz-sozinho-no-browser-297" id="article-link-4988578"&gt;
          Figma: 'line-height: auto' não se traduz sozinho no Browser
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;div class="crayons-story__tags"&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/webdev"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;webdev&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/css"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;css&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/productivity"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;productivity&lt;/a&gt;
            &lt;a class="crayons-tag  crayons-tag--monochrome " href="/t/designsystem"&gt;&lt;span class="crayons-tag__prefix"&gt;#&lt;/span&gt;designsystem&lt;/a&gt;
        &lt;/div&gt;
      &lt;div class="crayons-story__bottom"&gt;
        &lt;div class="crayons-story__details"&gt;
          &lt;a href="https://dev.to/lyramonteiro/figma-line-height-auto-nao-se-traduz-sozinho-no-browser-297" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left"&gt;
            &lt;div class="multiple_reactions_aggregate"&gt;
              &lt;span class="multiple_reactions_icons_container"&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/exploding-head-daceb38d627e6ae9b730f36a1e390fca556a4289d5a41abb2c35068ad3e2c4b5.svg" width="24" height="24"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/multi-unicorn-b44d6f8c23cdd00964192bedc38af3e82463978aa611b4365bd33a0f1f4f3e97.svg" width="24" height="24"&gt;
                  &lt;/span&gt;
                  &lt;span class="crayons_icon_container"&gt;
                    &lt;img src="https://assets.dev.to/assets/sparkle-heart-5f9bee3767e18deb1bb725290cb151c25234768a0e9a2bd39370c382d02920cf.svg" width="24" height="24"&gt;
                  &lt;/span&gt;
              &lt;/span&gt;
              &lt;span class="aggregate_reactions_counter"&gt;20&lt;span class="hidden s:inline"&gt;&amp;nbsp;reactions&lt;/span&gt;&lt;/span&gt;
            &lt;/div&gt;
          &lt;/a&gt;
            &lt;a href="https://dev.to/lyramonteiro/figma-line-height-auto-nao-se-traduz-sozinho-no-browser-297#comments" class="crayons-btn crayons-btn--s crayons-btn--ghost crayons-btn--icon-left flex items-center"&gt;
              

              2&lt;span class="hidden s:inline"&gt;&amp;nbsp;comments&lt;/span&gt;
            &lt;/a&gt;
        &lt;/div&gt;
        &lt;div class="crayons-story__save"&gt;
          &lt;small class="crayons-story__tertiary fs-xs mr-2"&gt;
            2 min read
          &lt;/small&gt;
          
          &lt;div class="only-sidebar-menu-item trusted-visible-block print-hidden align-center"&gt;
                
                    
                
          &lt;/div&gt;

        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;


</description>
      <category>css</category>
      <category>frontend</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Figma: 'line-height: auto' não se traduz sozinho no Browser</title>
      <dc:creator>Leo Thomas Monteiro</dc:creator>
      <pubDate>Fri, 06 Nov 2026 13:25:20 +0000</pubDate>
      <link>https://dev.to/lyramonteiro/figma-line-height-auto-nao-se-traduz-sozinho-no-browser-297</link>
      <guid>https://dev.to/lyramonteiro/figma-line-height-auto-nao-se-traduz-sozinho-no-browser-297</guid>
      <description>&lt;p&gt;Se você já exportou um design do Figma e o espaçamento entre linhas "quebrou" &lt;del&gt;não ficou perfeito como o seu perfeccionismo de pixel perfect queria&lt;/del&gt; no navegador, a explicação é pra você acalmar o seu suricato mental que reclama toda vez que isso acontece.&lt;/p&gt;

&lt;p&gt;Vamos salvar 5 minutos do seu dia? Ok.&lt;/p&gt;

&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Contexto&lt;/th&gt;
&lt;th&gt;
&lt;code&gt;auto&lt;/code&gt; / &lt;code&gt;normal&lt;/code&gt;
&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Figma&lt;/td&gt;
&lt;td&gt;Métricas intrínsecas da fonte (engine própria)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Navegador&lt;/td&gt;
&lt;td&gt;Métricas intrínsecas da fonte (engine do browser)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Resultado&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Pode divergir em 1–3px&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Aos designers: defina valores explícitos. Seu dev agradece.&lt;/p&gt;




&lt;h2&gt;
  
  
  Agora falando mais sério, o problema:
&lt;/h2&gt;

&lt;p&gt;No Figma, o campo de &lt;strong&gt;Line Height&lt;/strong&gt; vem com a opção &lt;strong&gt;Auto&lt;/strong&gt; selecionada por padrão. Parece inofensivo, até gentil! Mas esse "Auto" &lt;strong&gt;não é igual&lt;/strong&gt; ao &lt;code&gt;normal&lt;/code&gt; do CSS. Daí quando você é chato, aqueles pixels incomodam bastante.&lt;/p&gt;

&lt;p&gt;O Auto do Figma usa as &lt;em&gt;métricas verticais intrínsecas&lt;/em&gt; da fonte (&lt;code&gt;hhea&lt;/code&gt;/&lt;code&gt;OS/2&lt;/code&gt; no &lt;code&gt;.ttf&lt;/code&gt;/&lt;code&gt;.otf&lt;/code&gt;), definidas pelo designer tipográfico. Cada fonte tem um valor diferente: uma pode ter ~1.2× o font-size, outra ~1.4×.&lt;/p&gt;

&lt;p&gt;Vamos pegar a fonte Montserrat por exemplo. Com size 16px, o leading dela é 20px. Aliás, leading é o termo correto para essa parte técnica da tipografia. &lt;/p&gt;

&lt;p&gt;No navegador, o &lt;code&gt;line-height: normal&lt;/code&gt; (que é o default) também usa métricas da fonte, mas &lt;strong&gt;cada engine de texto resolve de forma ligeiramente diferente&lt;/strong&gt;. Resultado: o que você vê no Figma não é pixel-perfect no Chrome, Firefox ou Safari. E se você, como eu, tem o hábito de usar um reset para line-height: 1, também vai quebrar.&lt;/p&gt;

&lt;h2&gt;
  
  
  Tá, mas e aí, como descobrir o leading real no Figma
&lt;/h2&gt;

&lt;p&gt;O Figma não exibe o valor numérico do Auto. Mas dá pra puxar de um jeito muito simples &lt;del&gt;que me fez sentir besta de tão óbvio&lt;/del&gt;:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Crie um texto de &lt;strong&gt;uma linha só&lt;/strong&gt; na fonte e tamanho desejado.&lt;/li&gt;
&lt;li&gt;Deixe o Line Height em &lt;strong&gt;Auto&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Olhe a &lt;strong&gt;altura da camada de texto&lt;/strong&gt; no painel de propriedades — esse é o leading em px. O height. Simples assim.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Na prática
&lt;/h2&gt;

&lt;p&gt;O projeto com consistência entre design e código:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Defina um &lt;code&gt;line-height&lt;/code&gt; fixo&lt;/strong&gt; (em px ou em unidade relativa) no Figma. Ex.: &lt;code&gt;1.5&lt;/code&gt; ou &lt;code&gt;24px&lt;/code&gt; pra fonte de &lt;code&gt;16px&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Evite depender do Auto se o dev vai reproduzir o layout manualmente... Ou se a sua IA não é treinada para pensar no leading.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Espero ter resolvido uma coceira de perfeccionismo por aí.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>css</category>
      <category>productivity</category>
      <category>designsystem</category>
    </item>
  </channel>
</rss>
