viernes, 13 de abril de 2018 a las 11:07hs por Valentina Echezuria

Cada día es mas seguro hacer mails que se adapten a dispositivos mobiles ya que cada vez son mas los clientes de correos que tienen soporte a css y a media queries así que en este tutorial te indicaremos como hacer un mail con una distribución de grilla que sea responsive y disponer las columnas de manera que de adapten a nuestro diseño.
Primero crearemos la tabla que contendra el header de nuestro mail, el ancho del mismo sera de 600px en desktop.
<table>
<tbody>
<tr>
<td class="center full-header" width="600" height="80" style="text-align: center; vertical-align: middle; background-color: #00A7C7" >
<span class="header center" style="font-size:60px; font-weight: 600; color: #FFFFFF; font-family: Arial; text-align:center">
HEADER
</span>
</td>
</tr>
</tbody>
</table>
Luego crearemos la tabla que contendrá la grilla:
<table class="device-width" width="600" border="0" align="center" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="center full" width="300" height="250" style="text-align: center; vertical-align: middle; background-color: #F2F2F2" >
<span class="letter center" style="font-size:80px; font-weight: 600; color: #00CBC7; font-family: Arial; text-align:center">
A
</span>
</td>
<td class="center full" width="300" height="250" style="text-align: center; vertical-align: middle; background-color: #E6E6E6" >
<span class="letter center" style="font-size:80px; font-weight: 600; color: #00A7C7; font-family: Arial; text-align:center">
B
</span>
</td>
</tr>
</tbody>
</table>
<table class="device-width" dir="rtl" width="600" border="0" align="center" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="center full" dir="ltr" width="300" height="250" style="margin: 0; padding: 0; font-size: 0; text-align: center; background-color: #F2F2F2">
<span class="letter center" style="font-size:80px; font-weight: 600; color: #00CBC7; font-family: Arial; text-align:center">
D
</span>
</td>
<td class="center full" dir="ltr" width="300" height="250" style="margin: 0; padding: 0; font-weight: 600; font-family: Arial; vertical-align: middle; text-align: center; ; background-color: #E6E6E6">
<span class="letter center" style="font-size:80px; font-weight: 600; color: #00A7C7; font-family: Arial; text-align:center">
C
</span>
</td>
</tr>
</tbody>
</table>
De esta manera conseguiremos este resultado:

Ahora determinaremos los estilos para conseguir una correcta visualización en responsive:
<style type="text/css">
@media handheld, only screen and (max-device-width: 599px) {
.letter {
font-size: 8rem !important; /*tamaño de la letra en la grilla*/
}
.header {
font-size: 4rem !important; /*tamaño de la letra en el header*/
}
.center{
text-align: center !important; /*Centrar contenido*/
margin: auto !important;
float: none !important;
}
.full {
display:block !important; /*Display block para que la columna ocupe todo el ancho de la tabla*/
width:100% !important;
height: 200px !important;
vertical-align: middle !important;
padding-top: 3rem !important;
}
.full-header {
width:100% !important;
height: 80px !important;
vertical-align: middle !important;
}
.device-width{
max-width: 300px; /*Determinamos que el ancho de la tabla en mobile sera de 300px*/
width:300px!important;
padding: 0 !important;
}
}
</style>
Resultado:

Ahora bien se preguntaran como ocurre que la columna D se vea debajo de la B en responsive cuando en desktop luego de B sigue la columna C, esto es debido a que en la orientación de la tabla se determino que la alineación seria <table dir="rtl".. esto significa que las columnas de la tabla se organizaran de derecha a izquierda (rlt: right to left), de esta manera disponemos las columnas en el html al contrario de como sera el resultado por ejemplo:
Tabla con una distribución normal:
<table>
<tbody>
<tr>
<td>
<span >
C
</span>
</td>
<td >
<span>
D
</span>
</td>
</tr>
</tbody>
</table>
Tabla con atributo dir=»rtl» :
<table dir="rtl" >
<tbody>
<tr>
<td dir="ltr" >
<span >
D
</span>
</td>
<td dir="ltr" >
<span>
C
</span>
</td>
</tr>
</tbody>
</table>
El resultado visual de estas 2 tablas en desktop seria el mismo, la diferencia reside en la distribución de las columnas en responsive:

De esta manera te presentamos algunos tips para disponer los elementos de tu mail de manera adecuada para su correcta lectura en los distintos dispositivos mobile.
Categoria CSS3, Desarrollo web | Etiquetas: CSS, CSS3, Mail, Responsive

Deja un comentario