<?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: PatrickO98</title>
    <description>The latest articles on DEV Community by PatrickO98 (@patricko98).</description>
    <link>https://dev.to/patricko98</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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F441810%2F5449add2-77a0-472a-a1a6-0bac7c256c23.jpeg</url>
      <title>DEV Community: PatrickO98</title>
      <link>https://dev.to/patricko98</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/patricko98"/>
    <language>en</language>
    <item>
      <title>O curioso mundo dos emails em HTML</title>
      <dc:creator>PatrickO98</dc:creator>
      <pubDate>Tue, 28 Jul 2020 15:44:26 +0000</pubDate>
      <link>https://dev.to/patricko98/o-curioso-mundo-dos-emails-em-html-1poo</link>
      <guid>https://dev.to/patricko98/o-curioso-mundo-dos-emails-em-html-1poo</guid>
      <description>&lt;p&gt;Se alguma vez você tentou desenvolver um e-mail em HTML, deve ter percebido que é bem diferente de desenvolver uma página comum, parece que nada funciona e da vontade de desistir e escrever logo um "rich text" mesmo... &lt;/p&gt;

&lt;p&gt;É difícil mas não impossível, e pra ajudar vou juntar aqui algumas coisas que você precisa saber para montar um e-mail usando HTML.&lt;/p&gt;

&lt;h1&gt;
  
  
  Estrutura geral
&lt;/h1&gt;

&lt;p&gt;A primeira coisa que você precisa saber é que os clientes de e-mail basicamente não lêem HTML5, por isso uma série de tags e features que estamos acostumados a usar não vão funcionar, então precisamos ser bastante simplistas inclusive em relação a semântica.&lt;/p&gt;

&lt;p&gt;Então pra começar use e abuse de &lt;code&gt;&amp;lt;table&amp;gt;&lt;/code&gt; - pra quem é dev dinossauro sabe muito bem como é isso (não é o meu caso hehe). Seguindo essa ideia, pense em montar os containers e a hierarquia dos seus "elementos" usando a tag table mesmo, aqui vai um exemplo, supondo que precisa de um Header que contenha uma logo com um texto e um banner:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;!-- Header --&amp;gt;
&amp;lt;table&amp;gt;
 &amp;lt;tr&amp;gt;
  &amp;lt;!-- Logo --&amp;gt;
  &amp;lt;table&amp;gt;
   &amp;lt;tr&amp;gt;
    &amp;lt;td&amp;gt;&amp;lt;img class="logo" src="..." /&amp;gt;&amp;lt;/td&amp;gt;
    &amp;lt;td&amp;gt;&amp;lt;h1&amp;gt;Texto&amp;lt;/h1&amp;gt;&amp;lt;/td&amp;gt;
   &amp;lt;/tr&amp;gt;
  &amp;lt;/table&amp;gt;
  &amp;lt;!-- / Logo --&amp;gt;
 &amp;lt;/tr&amp;gt;
 &amp;lt;!-- Banner --&amp;gt;
 &amp;lt;tr&amp;gt;
  &amp;lt;td&amp;gt;&amp;lt;img class="banner" src="..." /&amp;gt;&amp;lt;/td&amp;gt;
 &amp;lt;/tr&amp;gt;
 &amp;lt;!-- / Banner --&amp;gt;
&amp;lt;/table&amp;gt;
&amp;lt;!-- / Header --&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;h1&gt;
  
  
  Estilização
&lt;/h1&gt;

&lt;p&gt;Nosso bom e velho CSS, é importante saber como utilizá-lo nos e-mails, pra ajudar tem o &lt;a href="https://www.caniemail.com/"&gt;https://www.caniemail.com/&lt;/a&gt; pra checar quais atributos tem suporte ou não. &lt;br&gt;
Outro ponto é sobre como colocar o CSS no seu e-mail, temos duas possibilidades o style inline e usando a tag &lt;code&gt;&amp;lt;style&amp;gt;&lt;/code&gt;, mas tenha em mente que se você usar a tag style ela pode ser removida (alguns clientes de e-mail removem o &lt;code&gt;&amp;lt;head&amp;gt;&lt;/code&gt;), então sempre use o style inline para setar a estrutura básica do seu elemento e deixe a tag style para media queries, pseudo-classes, etc.&lt;/p&gt;

&lt;p&gt;Pra resumir sobre estilização de e-mails aqui vai um FAQzinho:&lt;/p&gt;
&lt;h2&gt;
  
  
  E um media query, rola?
&lt;/h2&gt;

&lt;p&gt;A resposta é: sim! Porém saiba que nosso amigo @media ainda não é suportado por todos os clientes de e-mail, então use com cuidado.&lt;/p&gt;
&lt;h2&gt;
  
  
  Posso usar uma imagem de fundo?
&lt;/h2&gt;

&lt;p&gt;Sim podemos usar o atributo &lt;code&gt;background-image&lt;/code&gt;, mas só para garantir sempre coloque um background-color para o caso da imagem não carregar e fique atento para o contraste entre o conteúdo e o fundo.&lt;/p&gt;
&lt;h2&gt;
  
  
  Habemus flexbox?
&lt;/h2&gt;

&lt;p&gt;Ele é parcialmente suportado, eu prefiro não usar, mas em alguns casos vale a tentativa, aqui tem uma discussão bem legal sobre o assunto: &lt;a href="https://litmus.com/community/discussions/1500-using-flexbox-in-an-email"&gt;https://litmus.com/community/discussions/1500-using-flexbox-in-an-email&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Posso usar margin e padding?
&lt;/h2&gt;

&lt;p&gt;Pode, mas para um suporte garantido recomendo utilizar as tags &lt;code&gt;&amp;lt;tr&amp;gt;&lt;/code&gt; e &lt;code&gt;&amp;lt;td&amp;gt;&lt;/code&gt; mesmo, veja como é simples:&lt;br&gt;
Para um espaçamento vertical entre elementos você pode fazer assim&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;!-- Espaçamento --&amp;gt;
&amp;lt;tr&amp;gt;
 &amp;lt;td height="24px"&amp;gt;&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;!-- / Espaçamento --&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;E no caso de uma margem lateral você pode utilizar porcentagem para deixar o layout mais responsivo&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;table border="0" cellpadding="0" cellspacing="0"&amp;gt;
 &amp;lt;tr&amp;gt;
  &amp;lt;td width="5%"&amp;gt;&amp;lt;/td&amp;gt;
  &amp;lt;td width="90%"&amp;gt; Conteúdo aqui... &amp;lt;/td&amp;gt;
  &amp;lt;td width="5%"&amp;gt;&amp;lt;/td&amp;gt;
 &amp;lt;/tr&amp;gt;
&amp;lt;/table&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Ainda sobre estilização, algo bem importante é sempre fazer uma espécia de "clearfix" nas suas tags para evitar que as predefinições do browser/cliente de e-mail afetem o seu layout, quando for utilizar uma &lt;code&gt;&amp;lt;table&amp;gt;&lt;/code&gt; faça assim: &lt;code&gt;&amp;lt;table border="0" cellspacing="0" cellpadding="0"&amp;gt;&amp;lt;/table&amp;gt;&lt;/code&gt;, é bom também resetar as margens de tags como p ou h1 &lt;code&gt;&amp;lt;p style="margin: 0;"&amp;gt;&amp;lt;/p&amp;gt;&lt;/code&gt;.&lt;/p&gt;

&lt;h1&gt;
  
  
  Conclusão
&lt;/h1&gt;

&lt;p&gt;O mundo dos e-mails é meio complicado mas com a técnica certa conseguimos montar layouts bem ricos e otimizá-los para que funcionem da melhor maneira possível. Para garantir sempre faça uma boa bateria de testes com seu e-mail para ver como ele vai se comportar em diferentes clientes de e-mail e dispositivos (o Litmus ajuda muito nessa tarefa, vale a pena dar uma olhada &lt;a href="http://litmus.com/"&gt;http://litmus.com/&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;Espero que ajude você que precisa desenrolar um e-mail e não sabe por onde começar!&lt;/p&gt;

&lt;p&gt;Até a próxima :)&lt;/p&gt;

</description>
      <category>html</category>
      <category>webdev</category>
      <category>beginners</category>
    </item>
  </channel>
</rss>
