I am working on optimizing HTML emails for mobile devices. I was instructed to find a universal solution for creating a response layout with a column from 2 to 1 columns. I found an article written by Campaign Monitor - http://www.campaignmonitor.com/guides/mobile/responsive/ . I tried their markup, and it works on most clients and browsers, except for Outlook 2007, 2010 and 2013. I provided the jsfiddle link with my markup for reference. Is there any way to make this work in this version of Outlook?
EDIT: I am not trying to do the responsive part of email work in Outlook. I want 2 tables (left and right in jsfiddle example) to be displayed next to each other, and not above each other. This works in Gmail (IE, FF, Chrome, Safari), AOL (IE, FF, Chrome, Safari), Yahoo (IE, FF, Chrome, Safari), Hotmail (IE, FF, Chrome, Safari), Apple Mail 4 and 5, Outlook 2003, Android 4.0, iOS 4, 5, and 6. I only care about Outlook 2007 and later when the rendering engine has changed.
<html> <head> <style> @media all and (max-width: 590px){ *[class].responsive{ width: 320px !important; } } </style> </head> <body> <table width="100%" style="background-color: #000;" align="center" cellpadding="0" cellspacing="0"> <tbody> <tr> <td height="15"></td> </tr> <tr> <td width="100%"> <table width="560" style="background-color: #fff;" align="center" cellpadding="0" cellspacing="0" class="responsive"> <tbody> <tr> <td width="100%"> <table width="280" align="left" cellpadding="0" cellspacing="0" class="responsive"> <tbody> <tr> <td width="100%" height="40" style="background-color: #ececec;"> <div height="40" style="font-weight:bold; font-family:Helvetica,sans-serif; text-align:center;">Left (top)</div> </td> </tr> </tbody> </table> <table width="280" align="left" cellpadding="0" cellspacing="0" class="responsive"> <tbody> <tr> <td width="100%" height="40" style="background-color: #bcbcbc;"> <div height="40" style="font-weight:bold; font-family:Helvetica,sans-serif; text-align:center;">Right (bottom)</div> </td> </tr> </tbody> </table> </td> </tr> </tbody> </table> </td> </tr> <tr> <td height="15"></td> </tr> </tbody> </table> </body> </html>
http://jsfiddle.net/bxdUp/
Doug wallace
source share