Saltar al contenido principal

Mejores Prácticas CSS para Plantillas de Correo

Crear plantillas CSS efectivas para correos electrónicos requiere comprender las limitaciones y peculiaridades de los clientes de correo. Esta guía te ayudará a escribir CSS que funcione de manera confiable en Gmail, Outlook, Apple Mail y otros clientes de correo importantes.

tip

Typemail inline automáticamente tu CSS y aplica optimizaciones específicas para correos usando Juice, garantizando máxima compatibilidad.

✅ Prácticas Recomendadas

1. Usa Selectores Específicos

✅ Bueno:

.email-container {
max-width: 600px;
margin: 0 auto;
}

h1 {
color: #333333;
font-size: 28px;
}

.button {
background-color: #0066cc;
padding: 12px 24px;
}

❌ Evita:

* {
font-family: Arial; /* El selector universal afecta todo */
}

div {
margin: 10px; /* Demasiado genérico, difícil de sobrescribir */
}

2. Minimiza el Uso de !important

✅ Bueno:

.primary-button {
background-color: #0066cc;
color: white;
}

/* Solo usa !important para sobrescrituras críticas */
@media screen and (max-width: 600px) {
.mobile-hide {
display: none !important;
}
}

❌ Evita:

p {
margin: 16px !important;
color: #333 !important;
font-size: 16px !important;
}

3. Evita Recursos Externos

❌ Nunca uses:

@import url('https://fonts.googleapis.com/css?family=Roboto');

.background {
background-image: url('https://example.com/bg.jpg');
}

✅ En su lugar:

body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
}

/* Usa data URLs o imágenes inline en HTML para visuales críticos */

4. Usa Propiedades Bien Soportadas

✅ Bien Soportadas:

.text {
color: #333333;
font-family: Arial, sans-serif;
font-size: 16px;
font-weight: 600;
line-height: 1.5;
margin: 16px 0;
padding: 10px;
background-color: #f5f5f5;
border: 1px solid #dddddd;
border-radius: 4px;
}

⚠️ Soporte Limitado:

.element {
position: fixed; /* No soportado en la mayoría de clientes de correo */
position: absolute; /* Soporte muy limitado */
transform: rotate(45deg); /* Soporte inconsistente */
box-shadow: 0 4px 6px rgba(0,0,0,0.1); /* Funciona en algunos clientes */
}

5. Tamaños de Fuente Enfocados en Accesibilidad

✅ Recomendado:

body {
font-size: 16px; /* Tamaño base */
}

h1 {
font-size: 28px; /* Grande y legible */
}

p {
font-size: 16px; /* Nunca menos de 14px para texto principal */
}

.small-text {
font-size: 14px; /* Mínimo para legibilidad */
}

❌ Evita:

.tiny {
font-size: 8px; /* Ilegible en móvil */
}

.micro {
font-size: 6px; /* Violación de accesibilidad */
}

⚠️ Limitaciones de Clientes de Correo

Animaciones y Transiciones

❌ Evita:

@keyframes fadeIn {
from { opacity: 0; }
to { opacity: 1; }
}

.animated {
animation: fadeIn 1s;
transition: all 0.3s;
}
aviso

Las animaciones CSS no son soportadas en la mayoría de clientes de correo, incluyendo Outlook y Gmail. Simplemente serán ignoradas.

Posicionamiento

❌ Evita:

.fixed-header {
position: fixed; /* No funciona en correos */
top: 0;
}

.absolute-badge {
position: absolute; /* Soporte muy limitado */
right: 10px;
}

✅ Usa en su lugar:

/* Usa layouts basados en tablas para posicionamiento complejo */
.container {
display: block;
position: relative; /* Alternativa más segura */
}

Flexbox y Grid

⚠️ Soporte limitado:

.flex-container {
display: flex; /* Funciona en Apple Mail, no en Outlook */
justify-content: space-between;
}

.grid {
display: grid; /* Soporte muy limitado */
}

✅ Alternativa confiable:

/* Usa tablas para el diseño (¡sí, en serio!) */
table {
width: 100%;
border-collapse: collapse;
}

td {
vertical-align: top;
}

📱 Diseño Responsive

Media Queries

✅ Enfoque recomendado:

/* Estilos base (mobile-first) */
.container {
width: 100%;
padding: 10px;
}

/* Estilos desktop */
@media screen and (min-width: 600px) {
.container {
width: 600px !important;
padding: 20px !important;
}

.mobile-only {
display: none !important;
}
}
tip

Mantén las media queries en etiquetas <style> (Typemail las preserva automáticamente). Usa !important en media queries para mejor compatibilidad.

Patrones Mobile-Friendly

/* Diseño apilado en móvil */
@media screen and (max-width: 600px) {
.column {
width: 100% !important;
display: block !important;
}

/* Aumenta objetivos táctiles */
.button {
min-height: 44px !important;
padding: 14px 20px !important;
}

/* Aumenta espaciado */
h1 {
font-size: 24px !important;
margin: 16px 0 !important;
}
}

🎨 Color y Tipografía

Formatos de Color Seguros

✅ Usa:

.element {
color: #333333; /* Hex */
background-color: rgb(51, 51, 51); /* RGB */
border-color: rgba(0, 0, 0, 0.1); /* RGBA (buen soporte) */
}

⚠️ Evita:

.element {
color: hsl(0, 0%, 20%); /* HSL tiene soporte inconsistente */
background: linear-gradient(to right, #000, #fff); /* Soporte limitado */
}

Pilas de Fuentes

✅ Recomendado:

body {
/* Fuentes del sistema (universalmente disponibles) */
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
Helvetica, Arial, sans-serif;
}

.serif {
font-family: Georgia, 'Times New Roman', Times, serif;
}

.mono {
font-family: 'Courier New', Courier, monospace;
}

🔧 Patrones Comunes

Botones

.button {
display: inline-block;
padding: 12px 24px;
background-color: #0066cc;
color: #ffffff;
text-decoration: none;
border-radius: 4px;
font-weight: 600;
text-align: center;
}

.button:hover {
background-color: #0052a3; /* Hover funciona en algunos clientes */
}

Tablas

table {
width: 100%;
border-collapse: collapse;
margin: 16px 0;
}

th {
background-color: #f5f5f5;
padding: 12px;
text-align: left;
font-weight: 600;
border: 1px solid #dddddd;
}

td {
padding: 12px;
border: 1px solid #dddddd;
}

Contenedor

.email-container {
max-width: 600px;
margin: 0 auto;
padding: 20px;
background-color: #ffffff;
font-family: Arial, sans-serif;
}

🧪 Recomendaciones de Prueba

  1. Prueba en clientes principales:

    • Gmail (web, iOS, Android)
    • Outlook (2016, 2019, 365, web)
    • Apple Mail (macOS, iOS)
    • Yahoo Mail
    • Thunderbird
  2. Usa herramientas de validación:

  3. Verifica en dispositivos:

    • Desktop (varios tamaños de pantalla)
    • Móvil (iOS y Android)
    • Modo oscuro vs. modo claro

📚 Recursos Adicionales

¿Necesitas ayuda?

Si no estás seguro sobre una propiedad CSS específica, consulta Can I Email para información de compatibilidad.