Buscar..


Introducción

Los botones pueden ser una de las partes más frustrantes del desarrollo del correo electrónico, pero pueden construirse con código en lugar de imágenes y aún mostrarse bien en todos los principales clientes de correo electrónico. Cuando está integrado en HTML / CSS, se mostrará un botón en todos los clientes de correo electrónico, incluso con las imágenes desactivadas. Tanto el contenido como el estilo de cada botón se pueden editar rápidamente en una plantilla HTML / CSS.

Observaciones

Mejora progresiva con consultas de medios

Para los clientes que admiten consultas de medios, cualquiera de los ejemplos anteriores se puede mejorar progresivamente el botón.

P.ej. @media screen and (-webkit-min-device-pixel-ratio: 0) { /* Insert -webkit-targeted CSS here */ }


Añadir más relleno horizontal en Outlook

La adición condicional de espacio sin interrupciones en cada lado de un enlace de botón puede aumentar el relleno horizontal para Outlook. Especialmente útil para botones basados ​​en bordes.

`<!--[if mso]>&nbsp;&nbsp;&nbsp;<![endif]-->Link Text<!--[if mso]>&nbsp;&nbsp;&nbsp;<![endif]-->`

Buttons.cm Button

Campaign Monitor creó una herramienta ingeniosa que genera código para botones en el correo electrónico HTML. Utiliza una combinación de CSS y VML (para Microsoft Outlook) para mostrar imágenes de fondo o patrones en la mayoría de los principales clientes de correo electrónico.

<div><!--[if mso]>
  <v:roundrect xmlns:v="urn:schemas-microsoft-com:vml" xmlns:w="urn:schemas-microsoft-com:office:word" href="http://www.stackoverflow.com" style="height:38px;v-text-anchor:middle;width:200px;" arcsize="8%" strokecolor="#7ea613" fill="t">
    <v:fill type="tile" src=""https://imgur.com/clZqdfM.gif"" color="#99c739" />
    <w:anchorlock/>
    <center style="color:#ffffff;font-family:sans-serif;font-size:13px;font-weight:bold;">Stack Overflow</center>
  </v:roundrect>
<![endif]--><a href="http://www.stackoverflow.com"
style="background-color:#99c739;background-image:url("https://imgur.com/clZqdfM.gif");border:1px solid #7ea613;border-radius:3px;color:#ffffff;display:inline-block;font-family:sans-serif;font-size:13px;font-weight:bold;line-height:38px;text-align:center;text-decoration:none;width:200px;-webkit-text-size-adjust:none;mso-hide:all;">Stack Overflow</a></div>

Mostrará algo como esto: introduzca la descripción de la imagen aquí


nota : como el hipervínculo en Outlook está dentro de una etiqueta VML , algunos proveedores de servicios de correo electrónico tienen problemas para rastrear los clics en este enlace.

<v:roundrect xmlns:v="urn:schemas-microsoft-com:vml" xmlns:w="urn:schemas-microsoft-com:office:word" href="http://www.stackoverflow.com" style="height:38px;v-text-anchor:middle;width:200px;" arcsize="8%" strokecolor="#7ea613" fill="t">

Botones a base de relleno

Esta técnica se basa en el relleno en el nivel de celda de la tabla para estructurar el botón, y los atributos HTML y CSS para diseñar el botón. Ningún VML significa un código más simple, pero no hay imágenes de fondo en Outlook.

<table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td>
      <table border="0" cellspacing="0" cellpadding="0">
        <tr>
          <td bgcolor="#0095FF" style="padding: 12px 18px 12px 18px; -webkit-border-radius:3px; border-radius:3px" align="center"><a href="http://www.stackoverflow.com" target="_blank" style="font-size: 14px; font-family: sans-serif; font-weight: normal; color: #ffffff; text-decoration: none; display: inline-block;">Stack Overflow</a></td>
        </tr>
      </table>
    </td>
  </tr>
</table>

introduzca la descripción de la imagen aquí

El inconveniente de los botones basados ​​en el relleno es que no se puede hacer clic en toda el área del botón, solo el enlace dentro de la celda de la tabla.

Botones de borde

Esta técnica se basa en agregar bordes gruesos al enlace en sí para construir el CTA del botón. El uso de bordes se entiende de manera universal por los clientes de correo electrónico, pero limita la apariencia de los botones de colores sólidos.

<table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td>
      <table border="0" cellspacing="0" cellpadding="0">
        <tr>
          <td bgcolor="#0095FF" style="padding: 12px 18px 12px 18px; -webkit-border-radius:3px; border-radius:3px" align="center"><a href="http://www.stackoverflow.com" target="_blank" style="font-size: 14px; font-family: sans-serif; font-weight: normal; color: #ffffff; text-decoration: none; display: inline-block;">Stack Overflow</a></td>
        </tr>
      </table>
    </td>
  </tr>
</table>

introduzca la descripción de la imagen aquí

La etiqueta de enlace está configurada para ser un elemento de nivel de bloque y los bordes se usan para proporcionar el relleno, por lo que todo el botón se puede hacer clic + hacer clic, incluso en clientes de escritorio más antiguos.


El inconveniente de los botones basados ​​en bordes es que Outlook reducirá el tamaño de los bordes en una pequeña cantidad y, como se mencionó anteriormente, las imágenes de fondo no son compatibles.

Padding + Border-Based Buttons

Esta técnica utiliza una combinación de botones basados ​​en bordes y en el relleno, que estilizan el enlace con ambos rellenos y al menos un borde sólido de 1px. El color de fondo debe aplicarse al en lugar del en este caso porque Outlook reconoce el relleno horizontal en la etiqueta (ya que no es una etiqueta de nivel de bloque).

<table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td>
      <table border="0" cellspacing="0" cellpadding="0">
        <tr>
          <td align="center" style="-webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px;" bgcolor="#0095FF"><a href="https://www.stackoverflow.com" target="_blank" style="font-size: 14px; font-family: sans-serif; color: #ffffff; text-decoration: none; text-decoration: none; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; padding: 12px 18px; border: 1px solid #0095FF; display: inline-block;">Stack Overflow</a></td>
        </tr>
      </table>
    </td>
  </tr>
</table>

introduzca la descripción de la imagen aquí


El inconveniente de los botones de relleno + bordes basados ​​en bordes es que separa el estilo entre las etiquetas <td> y <a> , por lo que puede ser difícil de mantener. Pero solo se utiliza un botón, no se requieren dimensiones específicas y se pueden admitir imágenes de fondo.

Botón a prueba de balas con espaciadores.

Este botón deriva de este ejemplo por correo electrónico sobre ácido. Está completamente basado en código, por lo que se mostrará sin imágenes descargadas, y se puede hacer clic en el botón completo + clic.

Además, este ejemplo también incluye espaciadores para ayudar a controlar la cantidad de espacio vertical que aparece antes y después del botón.

<table width="100%">
    <tr>
      <td>
        <!-- Top Spacer : BEGIN -->
        <table border="0" cellpadding="0" cellspacing="0"> 
          <tr>
            <td height="20" width="100%" style="font-size: 20px; line-height: 20px;">
            &nbsp;
            </td>
          </tr>
        </table>
        <!-- Top Spacer : END -->
        <!-- Button : BEGIN -->
        <table border="0" align="left" cellpadding="0" cellspacing="0">
          <tbody>
          <tr>
            <td align="left">
              <table border="0" cellpadding="0" cellspacing="0" width="150">
                <tr>
                  <td align="center" bgcolor="#0077CC" width="150" style="-moz-border-radius: 4px; -webkit-border-radius: 4px; border-radius: 4px;">
                    <a href="http://www.stackoverflow.com" style="padding: 10px; width:150px; display: block;text-decoration: none; border:0;text-align: center; font-weight: bold; font-size: 14px; font-family: sans-serif; color: #ffffff; background: #0095FF;border: 1px solid #0077CC; -moz-border-radius: 4px; -webkit-border-radius: 4px; border-radius: 4px; line-height:17px;" class="button_link">Stack Overflow</a>
                  </td>
                </tr>
              </table>
            </td>
          </tr>
          </tbody>
        </table>
        <!-- Button : END -->
        <!-- Bottom Spacer : BEGIN -->
        <table border="0" cellpadding="0" cellspacing="0"> 
          <tr>
            <td height="20" width="100%" style="font-size: 20px; line-height: 20px;">
            &nbsp;
            </td>
          </tr>
        </table>
        <!-- Bottom Spacer : END -->
      </td>
    </tr>
  </table>

introduzca la descripción de la imagen aquí



Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow