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.
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;
}
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;
}
}
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
-
Prueba en clientes principales:
- Gmail (web, iOS, Android)
- Outlook (2016, 2019, 365, web)
- Apple Mail (macOS, iOS)
- Yahoo Mail
- Thunderbird
-
Usa herramientas de validación:
- El Dashboard te advertirá sobre problemas comunes
- Prueba con Litmus o Email on Acid
-
Verifica en dispositivos:
- Desktop (varios tamaños de pantalla)
- Móvil (iOS y Android)
- Modo oscuro vs. modo claro
📚 Recursos Adicionales
- Can I Email - Referencia de soporte CSS para clientes de correo
- Email Client CSS Support
- Litmus Community - Discusiones sobre desarrollo de correos
Si no estás seguro sobre una propiedad CSS específica, consulta Can I Email para información de compatibilidad.