Cor de fundo do corpo que não funciona para a newsletter de E-mail
5 answers
O elemento corporal é ignorado pela maioria dos clientes de E-mail. Se você precisar de um fundo, você terá que fazer um elemento de contêiner e adicionar o fundo a isso.
Tenta usar isto:
<body bgcolor="#efefef" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="650" valign="top" align="center" bgcolor="#efefef">
....
</td>
</tr>
</table>
</body>
A marca é agora a sua embalagem para o modelo de E-mail. Como alguns clientes de E-mail removem a tag body, você então tem uma tabela de 100% para cair para trás para que todos os clientes suportam.
Eu também sugeriria a utilização do seguinte na sua etiqueta <head>
:
<style type="text/css">
body{width:100% !important; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%; margin:0; padding:0;}
.ExternalClass {width:100%;}
.ExternalClass, .ExternalClass p, .ExternalClass span, .ExternalClass font, .ExternalClass td, .ExternalClass div {line-height: 100%;}
</style>
Isto faz o seguinte apenas como alguns extras:
- impedir as plataformas Webkit e Windows Mobile de alterar os tamanhos de letra predefinidos, sem quebrar o desenho do ecrã.
- forçar o Hotmail a mostrar os e-mails em toda a largura.
- forçar o Hotmail a mostrar o espaçamento normal das linhas.
A largura corporal deve ser, idealmente, de 640, uma vez que a maioria dos telemóveis e comprimidos irá redimensionar o e-mail correctamente nessa altura.
Http://putsmail.com/ é muito útil para testes.
O elemento do corpo nem sempre é ignorado (particularmente no Outlook), no entanto, você também deve emparelhá-lo com uma tabela de largura completa como um recuo. Isso também faz um bom método para ter a cor de fundo de encaminhamento permanecer branco, enquanto o fundo da área html permanece algo mais.
Aqui está uma configuração básica com isto em mente:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title></title>
<style type="text/css">
/* Client-specific Styles */
#outlook a {padding:0;}
body{width:100% !important; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%; margin:0; padding:0;} /* force default font sizes */
.ExternalClass {width:100%;} .ExternalClass, .ExternalClass p, .ExternalClass span, .ExternalClass font, .ExternalClass td, .ExternalClass div {line-height: 100%;} /* Hotmail */
a:active, a:visited, a[href^="tel"], a[href^="sms"] { text-decoration: none; color: #000001 !important; pointer-events: auto; cursor: default;}
table td {border-collapse: collapse;}
</style>
</head>
<body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" style="margin: 0px; padding: 0px; background-color: #FFFFFF;" bgcolor="#FFFFFF"><table bgcolor="#252525" width="100%" border="0" align="center" cellpadding="0" cellspacing="0"><tr><td><table width="600" border="0" align="center" cellpadding="0" cellspacing="0"><tr><td valign="top" style="padding-top:30px; padding-bottom:30px;">
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td bgcolor="#FFFFFF" style="padding:30px;">
Content here
</td>
</tr>
</table>
</td></tr></table></td></tr></table></body></html>
Numa nota lateral, se quiser uma imagem backgorund, existem 2 métodos no email html. Veja esta resposta para mais detalhes.