iPhone mail: table doesn't stretch to 100% because of an anchor tag?
Solution 1
<body style="min-width: 100%">
fixes the problem.
Solution 2
Ok, I found a working solution:
Just set:
table {
width: 99%; /* 99.99 % doesn't seem to work */
margin: 0 auto;
}
To get rid of the very small minimal gap, I just set the background-color the same as my table.
Fixed for now!
Solution 3
Just posted this solution to a related issue: Link in 100% width table results in 90% width table
This MacRumors thread provides a solution to the issue: http://forums.macrumors.com/showthread.php?t=1158457
Try to put align="center" and style="text-align:center" onto the first table and then put style="text-align:left" onto the second one if necessary.
If you wrap your content in a parent table with center alignment, this oddly seems to eliminate the right margin on the iPhone mail reader.
Melros
Updated on July 29, 2022Comments
-
Melros almost 2 years
I'm designing an html newsletter which runs so far very correct on every email client.
On mobile devices it should stretch to 100% width, which it does so far.
But:
On iphone mail when the mail opens, for a second I see the hundred percent width until then a space on the right gets added. It's always the same spaced space.
I tried reducing my code to the minimum to see what the reason could be. There I found out it could be links, it could be a border. Sometimes it works again and then again not.
Is there some mystery about 100% width on iphone in html newsletters that I didn't yet know about?
Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>Newsletter</title> <style type="text/css"> /* Client-specific Styles */ #outlook a{padding:0;} /* Force Outlook to provide a "view in browser" button. */ body{width:100% !important;} .ReadMsgBody{width:100%;} .ExternalClass{width:100%;} /* Force Hotmail to display emails at full width */ body{-webkit-text-size-adjust:none;} /* Prevent Webkit platforms from changing default text sizes. */ /* Reset Styles */ body{margin:0; padding:0;} img{border:0; height:auto; line-height:100%; outline:none; text-decoration:none;} table td{border-collapse:collapse; margin: 0; padding: 0;} #backgroundTable{height:100% !important; margin:0; padding:0; width:100% !important;} body { background-color: #EEEDEC; font-family: Arial, sans-serif; font-size: 15px; line-height: 1.5em; font-weight: 100; text-align: left; width: 100%; } p { margin-bottom: 20px; } a { color: #C5111A; font-weight: bold; } table { width: 100%; text-align: left; } img { max-width: 100%; } table.outter { width: 100%; background-color: #fff; } table.center { width: 100%; background-color: #fff; } h2 { font-family: Arial, sans-serif; font-size: 15px; font-weight: 100; margin-bottom: 20px; height: 30px; line-height: 30px; color: #fff; padding-left: 10px; background-color: #C5111A; background: #C5111A; background: -webkit-gradient(linear, left top, left bottom, from(#c4171d), to(#d6404c)); background: -webkit-linear-gradient(top, #c4171d, #d6404c); background: -moz-linear-gradient(top, #c4171d, #d6404c); background: -ms-linear-gradient(top, #c4171d, #d6404c); background: -o-linear-gradient(top, #c4171d, #d6404c); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#c4171d,endColorstr=#d6404c); zoom: 1; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; } </style> </head> <body leftmargin="0" marginwidth="0" topmargin="0" marginheight="0" offset="0"> <center> <table border="0" cellpadding="0" cellspacing="0" height="100%" width="100%" id="main"> <tr> <td align="center" valign="top"> <!-- outter --> <table border="0" cellpadding="0" cellspacing="0" width="100%" class="outter"> <tbody> <!-- BEGINN --> <!-- BOX --> <tr> <td align="center" valign="top"> <!-- center --> <table border="0" cellpadding="0" cellspacing="0" width="100%" class="center"> <tbody> <tr> <td valign="top" > <!-- box --> <table border="0" cellspacing="0" width="100%"> <tbody> <tr> <td valign="top"> <h2 class="h2">Heading</h2> <p>This is a Paragraph</p> <a href="http://www.google.de">This is a link</a> </td> </tr> </tbody> </table> <!-- /box --> </td> </tr> </tbody> </table> <!-- /center --> </td> </tr> <!-- END --> </tbody> </table> </td></tr> </table> </center> </body> </html>
In this provided code 100% width will only work without the anchor.
-
Melros about 12 yearsThank you for you answer. I've tried this before but it didn't work eather. I am still stuck here.
-
Melros almost 12 yearsThank you for your answer and reactivate my interested in this. I totally ignored it but now came up with an easy fix. See my answer.
-
Melros about 11 yearsHave to confirm this, too. I just had the same problem again and fixed it with your answer now. Perfect!