Skip to content Skip to sidebar Skip to footer

How To Make Html Email Responsive In Gmail?

I've built an html email which is perfect in yahoo but not in gmail. As gmail does not support header style how will i add media query. But I got many email which are responsive in

Solution 1:

Build the email to fit gmail app first and then use media queries and conditional code to make it work in everything else.

Mobile first design is the only way to make a responsive email in gmail app - see great example here

Solution 2:

Hybrid Design achieves a responsive, shape-shifting layout without using media queries. At its core, it uses max-width and min-width to impose rigid baselines (allowing some movement) and imposes a fixed, wide width for Outlook who is shackled to desktop anyway. Once a mobile-friendly baseline is set, media queries progressively enhance the email further in clients that support it (like iOS Mail).

Here is a basic 2-column scaffolding from Fabio Carneiro's code samples on GitHub (all credit to him!):

<!doctype html><html><bodystyle="margin:0;"><center><tableborder="0"cellpadding="0"cellspacing="0"height="100%"width="100%"><!-- // 2-COLUMN SCAFFOLD [CENTERING, FLUID] --><tr><tdalign="center"height="100%"valign="top"width="100%"><!--[if mso]>
						<table align="center" border="0" cellspacing="0" cellpadding="0" width="660">
						<tr>
						<td align="center" valign="top" width="660">
						<![endif]--><tablealign="center"border="0"cellpadding="0"cellspacing="0"width="100%"style="max-width:660px;"><tr><tdalign="center"valign="top"style="font-size:0;"><!--// DEVELOPER NOTES:
										1. Setting font-size:0; is necessary to ensure
										   that there is no extra spacing introduced
										   between the centering divs that wrap each
										   of the columns. //--><!--[if mso]>
									<table align="center" border="0" cellspacing="0" cellpadding="0" width="660">
									<tr>
									<td align="left" valign="top" width="330">
									<![endif]--><divstyle="display:inline-block; max-width:50%; min-width:240px; vertical-align:top; width:100%;"><!--// DEVELOPER NOTES:
											1. To have each column center upon stacking,
											   wrap them in individual divs, set the same
											   max-width and width as the table within it,
											   and set display to inline-block; using
											   vertical-align is optional.

											2. Setting min-width determines when the two
											   columns of this block will wrap; in this
											   case, when the total available width is
											   less than or equal to 480px. //--><tablealign="left"border="0"cellpadding="0"cellspacing="0"width="100%"style="max-width:330px;"><tr><tdalign="center"valign="top"><!-- // REPLACE WITH BLOCK --><pstyle="background-color:#2BAADF; color:#FFFFFF; font:16px Helvetica, sans-serif, normal; margin:0 !important; padding:10px;">LEFT</p><!-- REPLACE WITH BLOCK // --></td></tr></table></div><!--[if mso]>
									</td>
									<td align="left" valign="top" width="330">
									<![endif]--><divstyle="display:inline-block; max-width:50%; min-width:240px; vertical-align:top; width:100%;"><tablealign="left"border="0"cellpadding="0"cellspacing="0"width="100%"style="max-width:330px;"><tr><tdalign="center"valign="top"><!-- // REPLACE WITH BLOCK --><pstyle="background-color:#51BBE5; color:#FFFFFF; font:16px Helvetica, sans-serif, normal; margin:0 !important; padding:10px;">RIGHT</p><!-- REPLACE WITH BLOCK // --></td></tr></table></div><!--[if mso]>
									</td>
									</tr>
									</table>
									<![endif]--></td></tr></table><!--[if mso]>
						</td>
						</tr>
						</table>
						<![endif]--></td></tr><!-- 2-COLUMN SCAFFOLD [CENTERING, FLUID] // --></table></center></body></html>

There are more scaffolds and patterns in that repo and elsewhere, but this shows the basic principle in action.

Post a Comment for "How To Make Html Email Responsive In Gmail?"