Email Development
Designers often use empty cells in tables to create “pixel perfect” emails, but this method might not be as reliable as you had thought. We performed a number of tests to investigate empty table cells. Our first test checked to see if row and column cells that had color but no content would show up. Check out a sample of the code for our column test below.
One
<table style="background:red">
<tr><td>test</td></tr>
<tr><td style="background:black"></td></tr>
<tr><td>test</td></tr>
</table>
Two
<table style="background:red" cellpadding="0" cellspacing="0">
<tr><td>test</td></tr>
<tr><td style="background:black"></td></tr>
<tr><td>test</td></tr>
</table>
All clients that we tested rendered empty cells with at least a few pixels in width (or height) even if they had no content. If you use the cellpadding=”0″ and cellspacing=”0″ attributes (“Two” in the example above), however, things get a bit more sticky. Most clients won’t show an empty column cell with no cell padding or spacing, but nearly a quarter of the clients we tested did. Take a look at the chart at the bottom to see which ones. Support for empty row cells (with no cell padding or spacing) was also not universal, with about 10% showing them and 90% of clients not showing them.
Most email clients displayed the first two tests as in the image on the left (Example 1). Notice that in test 1, the empty cell with black background is displayed as a thin line with red on either side of it. This is caused by padding, which gets the color of the table itself. With margins and padding removed, however, no cell is visible at all! This doesn’t hold true for all clients. For instance, check out Live Mail’s rendering of the same test, on the right (Example 2).
Again, the answer to this one is, “Not always.” Most clients do give borders to empty cells, but some of them do not. In the test below we added the border: 1px solid black property to all td’s in the table. The top-center, middle-center and bottom-left cells are empty of content, and the middle-center cell has a black background color. You can check out the table at the end of this blog post to see exactly which clients show borders on empty cells and which don’t.
Regardless of margin or padding settings, these attributes seem to work in all email clients. A mobile client might resize your table cells if they don’t fit within its screen. Check out our blog on table sizing and iOS6 here, for an example.
A non-breaking space ( ) is a common filler for otherwise empty cells. This creates a space character which is transparent. For many purposes, this is a good solution. However, when very small cells are used for layout purposes, the non-breaking space will be too big.
Another commonly used filler is <br />, a line-break. This filler doesn’t create a character, but email clients will render the cell with the same height as a regular line of text. Other than Outlook 2003, all email clients should show a table cell with <br /> in it.
A third option is to use an empty div, <div></div>, inside the table cell. An empty div will be displayed on most browsers just like an empty cell would be. This makes the empty div not much of
We recommend not using empty table cells. Because of the discrepancies among browsers when it comes to displaying the cells, we recommend the use of cell height and/or width values, or colspan, rowspan and padding instead of empty cells. As long as you’re not using borders, this should help you achieve identical layouts in all browsers.
The first results column below shows whether or not an empty cell with a different background color is visible with margins and padding set to zero. The second column is the same test, but for an empty cell in a row. The third column shows whether or not that client applies a border to empty cells. The last column shows which email clients display a table cell with an empty <div></div> inside it. Results for some clients were inconclusive, showed by a “?” symbol.
Desktop Clients |
Clients | Empty Cell Shows? (column, no margin) | Empty Cell Shows? (row, no margin) | Empty Cell Gets Border? | Empty Div Shows? (no margin) |
Apple Mail 4 | ||||
Apple Mail 5 | ||||
Apple Mail 6 | ||||
Entourage 2004 * | ||||
Entourage 2008 * | ||||
Live Mail | ||||
Lotus Notes 6.5 | ||||
Lotus Notes 7 | ||||
Lotus Notes 8 | ||||
Lotus Notes 8.5 | ||||
Outlook 2003 | ||||
Outlook 2007 | ||||
Outlook 2010 | ? | |||
Outlook 2013 | ||||
Outlook Express | ||||
Thunderbird 13 | ||||
Windows Mail | ||||
Android 2.3 | ||||
Android 4 | ||||
Android Gmail 2.2 * | ||||
BlackBerry 9930 | ||||
iPad 5.0 (iOS 5) | ||||
iPad Gmail (iOS 3) | ||||
iPhone 4S (iOS 5) | ||||
iPhone 4S (iOS 6) | ||||
Kindle Fire 2.3 |
AOL |
Chrome 18 | ||||
Firefox 12 | ||||
Internet Explorer 8 | ||||
Internet Explorer 9 | ||||
Safari 5 |
Gmail |
Chrome 18 | ||||
Firefox 12 | ||||
Firefox 3.6 | ||||
Internet Explorer 8 | ||||
Internet Explorer 9 | ? | |||
Safari 5 |
Hotmail |
Chrome 18 | ||||
Firefox 12 | ||||
Firefox 3.6 | ||||
Internet Explorer 8 | ||||
Internet Explorer 9 | ||||
Safari 5 |
Outlook.com |
Chrome 18 | ||||
Firefox 12 | ||||
Firefox 3.6 | ||||
Internet Explorer 8 | ||||
Internet Explorer 9 | ? | ? | ||
Safari 5 |
Yahoo |
Chrome 18 | ||||
Firefox 12 | ||||
Firefox 3.6 | ||||
Internet Explorer 8 | ||||
Internet Explorer 9 | ? |
Stop switching back and forth between platforms during pre-deployment and QA. With Sinch Email on Acid you can find and fix problems all in one place. Double check everything from content to accessibility and deliverability. Plus, with accurate Email Previews on more than 100 of the most popular clients and devices, you can confidently deliver email perfection every time.
Author: Kyle Lapaglia
When you visit any website, it may store or retrieve information on your browser, mostly in the form of cookies. This information might be about you, your preferences or your device and is mostly used to make the site work as you expect it to. The information does not usually directly identify you, but it can give you a more personalized web experience. Because we respect your right to privacy, you can choose not to allow some types of cookies. Click on the different category headings to find out more and change our default settings. However, blocking some types of cookies may impact your experience of the site and the services we are able to offer.
Cookie Statement
These cookies are necessary for the website to function and cannot be switched off in our systems. They are usually only set in response to actions made by you which amount to a request for services, such as setting your privacy preferences, logging in or filling in forms. You can set your browser to block or alert you about these cookies, but some parts of the site will not then work.
These cookies do not store any personally identifiable information.
Cookie details
Cookie Subgroup | Cookies | Cookies used |
---|---|---|
eu5.mm.sdi.sinch.com | ASP.NET_SessionId | First Party |
community.sinch.com | AWSALB , LiSESSIONID | First Party |
appengage.sinch.com | dd_cookie_test_ | First Party |
tickets.sinch.com | atlassian.xsrf.token , JSESSIONID | First Party |
cockpit2.sinch.com | SESSION | First Party |
engage.sinch.com | instapage-variant-xxxxxxxx | First Party |
dashboard.sinch.com | cookietest | First Party |
brand.sinch.com | PHPSESSID , AWSALBCORS | First Party |
sinch.com | __cf_bm , OptanonConsent , TEST_AMCV_COOKIE_WRITE , OptanonAlertBoxClosed , onesaasCookieSettings, QueryString, functional-cookies, performance-cookies, targeting-cookies, social-cookies lastExternalReferrer, lastExternalReferrertime, cookies, receive-cookie-deprecation _gdvisitor, _gd_session, _gcl_au, _fbp, _an_uid, _utm_zzses, lpv | First Party |
mediabrief.com | __cf_bm | Third Party |
recaptcha.net | _GRECAPTCHA | Third Party |
cision.com | __cf_bm | Third Party |
techtarget.com | __cf_bm | Third Party |
These cookies allow us to count visits and traffic sources so we can measure and improve the performance of our site. They help us to know which pages are the most and least popular and see how visitors move around the site. All information these cookies collect is aggregated and therefore anonymous.
If you do not allow these cookies we will not know when you have visited our site, and will not be able to monitor its performance.
Cookie details
Cookie Subgroup | Cookies | Cookies used |
---|---|---|
community.sinch.com | ValueSurveyVisitorCount | First Party |
buzz.sinch.com | instap-spid.8069 , instap-spses.8069 | First Party |
appengage.sinch.com | _dd_s | First Party |
sinch.com | AMP_TLDTEST , rl_page_init_referrer , rl_trait , _vis_opt_s , __q_state_dp56h9oqwhna9CoL , cb_user_id , __hstc , rl_anonymous_id , rl_user_id , initialTrafficSource , _vwo_uuid , _vwo_uuid_v2 , rl_page_init_referring_domain , _hjIncludedInSessionSample_xxx , apt.uid , __hssrc , test_rudder_cookie , cb%3Atest , __hssc , rl_group_trait , _hjAbsoluteSessionInProgress , _vwo_referrer , _vwo_sn , _vis_opt_test_cookie , _hjFirstSeen , _hjTLDTest , _hjSession_xxxxxx , s_sq , _vwo_ds , rl_group_id , _vis_opt_exp_n_combi , s_cc , _gclxxxx , cb_anonymous_id , cb_group_id , apt.sid , rl_session , _uetvid , AMP_899c7e29a9 , _hjSessionUser_xxxxxx | First Party |
brand.sinch.com | AMP_TEST | First Party |
engage.sinch.com | no-cache , instap-spses.85bb , instap-spid.85bb | First Party |
www.sinch.com | d-a8e6 , s-9da4 | First Party |
nr-data.net | JSESSIONID | Third Party |
sinch-en.newsroom.cision.com | _ga, _gid | Third Party |
sinch.in | _ga_xxxxxxxxxx, _gat_UA-XXXXXX-X, _gid, _ga | Third Party |
g.fastcdn.co | instap-spses.85bb | Third Party |
hello.learn.mailjet.com | pardot, visitor_id, visitor_id##### | Third Party |
www.googletagmanager.com | userId | Third Party |
hello.learn.mailgun.com | visitor_id#####, visitor_id | Third Party |
dev.visualwebsiteoptimizer.com | _vwo_ssm | Third Party |
box.com | box_visitor_id | Third Party |
app.box.com | z, cn | Third Party |
sinch-tfn.paperform.co | laravel_session | Third Party |
go.sinch.in | visitor_id#####, visitor_id | Third Party |
Qualified | __q_local_form_debug | Third party |
Rudderstack | rudder.inProgress, rudder.3156dd1f-7029-4600-ae54-baf147d9af20.queue, rudder.3156dd1f-7029-4600-ae54-baf147d9af20.ack, rudder.3156dd1f-7029-4600-ae54-baf147d9af20.reclaimStart, rudder.3156dd1f-7029-4600-ae54-baf147d9af20.reclaimEnd, | Third party |
6sense | _6senseCompanyDetauls, _6signalTTL | Third party |
Appcues | apc_local_id, apc_user | Third party |
These cookies may be set through our site by our advertising partners. They may be used by those companies to build a profile of your interests and show you relevant adverts on other sites. They do not store directly personal information, but are based on uniquely identifying your browser and internet device.
If you do not allow these cookies, you will experience less targeted advertising.
Cookie details
Cookie Subgroup | Cookies | Cookies used |
---|---|---|
investors.sinch.com | visitor_id | First Party |
community.sinch.com | VISITOR_BEACON , LithiumVisitor | First Party |
sinch.com | _uetsid , ajs_user_id , _gcl_aw , ajs_group_id , AMCV_ , __utmzzses , _fbp , _gcl_au , AMCVS_ | First Party |
go.latam.sinch.com | visitor_id##### , pardot | First Party |
linkedin.com | li_gc, bcookie, lidc, AnalyticsSyncHistory, UserMatchHistory, li_sugr | Third Party |
pi.pardot.com | lpv151751, pardot | Third Party |
hsforms.com | _cfuvid | Third Party |
google.com | CONSENT | Third Party |
sinch.in | _gclxxxx, _gcl_au | Third Party |
www.linkedin.com | bscookie | Third Party |
bing.com | MUID, MSPTC | Third Party |
www.facebook.com | Third Party | |
hello.learn.mailgun.com | pardot | Third Party |
www.youtube.com | TESTCOOKIESENABLED | Third Party |
dev.visualwebsiteoptimizer.com | uuid | Third Party |
g2crowd.com | __cf_bm | Third Party |
pardot.com | visitor_id#####, visitor_id | Third Party |
tracking.g2crowd.com | _session_id | Third Party |
hubspot.com | __cf_bm, _cfuvid | Third Party |
doubleclick.net | test_cookie, IDE | Third Party |
youtube.com | CONSENT, VISITOR_PRIVACY_METADATA, VISITOR_INFO1_LIVE | Third Party |
go.sinch.in | pardot | Third Party |
liadm.com | lidid | Third Party |
www.google.com | _GRECAPTCHA | Third Party |
These cookies enable the website to provide enhanced functionality and personalisation. They may be set by us or by third party providers whose services we have added to our pages. If you do not allow these cookies, then some or all of these services may not function properly.
Cookie details
Cookie Subgroup | Cookies | Cookies used |
---|---|---|
portal.sinch.com | pnctest | First Party |
partner.appengage.sinch.com | _dd_s | First Party |
investors.sinch.com | First Party | |
community.sinch.com | LithiumUserInfo , LithiumUserSecure | First Party |
tickets.sinch.com | selectedidp | First Party |
engage.sinch.com | ln_or | First Party |
cockpit2.sinch.com | CSRF-TOKEN , NG_TRANSLATE_LANG_KEY | First Party |
sinch.com | apt.temp-xxxxxxxxxxxxxxxxxx , hubspotutk , ajs%3Acookies , cf_clearance , ajs%3Atest , __tld__ , __q_domainTest , pfjs%3Acookies , ajs_anonymous_id | First Party |
auth.appengage.sinch.com | AUTH_SESSION_ID , KEYCLOAK_3P_COOKIE , KEYCLOAK_3P_COOKIE_SAMESITE , KC_RESTART , AUTH_SESSION_ID_LEGACY | First Party |
www.recaptcha.net | _GRECAPTCHA | Third Party |
boxcdn.net | __cf_bm | Third Party |
d2oeshgsx64tgz.cloudfront.net | cookietest | Third Party |
sinch-np.paperform.co | XSRF-TOKEN, laravel_session | Third Party |
vimeo.com | __cf_bm, vuid | Third Party |
sinch-ca-sc.paperform.co | XSRF-TOKEN, laravel_session | Third Party |
box.com | site_preference | Third Party |
app.box.com | bv | Third Party |
sinch-tfn.paperform.co | XSRF-TOKEN | Third Party |
cision.com | cf_clearance | Third Party |
These cookies are set by a range of social media services that we have added to the site to enable you to share our content with your friends and networks. They are capable of tracking your browser across other sites and building up a profile of your interests. This may impact the content and messages you see on other websites you visit. If you do not allow these cookies you may not be able to use or see these sharing tools.
Cookie details
Cookie Subgroup | Cookies | Cookies used |
---|---|---|
community.sinch.com | ln_or | First Party |
sinch.in | _fbp | Third Party |
youtube-nocookie.com | CONSENT | Third Party |
youtube.com | YSC | Third Party |