Text alignment in gmail and yahoo - css

I have created one template. While opening in gmail account some of the text line is coming in center (basically Thank You Part) but when I am opening the same template in Yahoo it (Thank You Part) is properly left aligned. I did some analysis and came to know that it also depends upon the rendering of different mail client. I want to fix this issue. Could anyone please help me with that?

Try something like...
<table cellspacing="0" cellspacing="0" border="0" width="100%" role="presentation">
<tr>
<td style="text-align: left;">
Your Thank You text
</td>
</tr>
</table>

Some mail clients have text:center as default, e.g. Gmail and Outlook 2007,2010,2013. So you need to specify in each <td> the alignment of the text, as well as all other inline styles.
<table cellspacing="0" cellspacing="0" border="0" width="100%">
<tr>
<td align="left" style="color:#000000">
Lorem ipsum
</td>
</tr>
</table>

Related

(HTML) Margin bottom for tables?

I'm making an HTML email and the program that loads these do not accept separate CSS file, so everything has to be inline. For some reason margins for tables are not working. All I need is a gap between the bottom of a table and the next one.
What I have so far:
<table width="600" margin-bottom="50" cellpadding=8 cellspacing=0 border=0>
//contents of table
</table>
<table width="600" cellpadding="0" cellspacing="0" border="0">
//contents of next table
</table>
There is no gap created at all.
This works:
<table width="600" cellpadding=8 cellspacing=0 border=0>
//contents of table
</table>
<br>
<table width="600" cellpadding="0" cellspacing="0" border="0">
//contents of next table
</table>
I also tried padding-bottom, doesn't do anything either.
Is using <br> the only way then? Seems kind of awkward.
The way you were using margin was incorrect. Margin has to be inside of a style attribute. The other attributes are table specific attributes that usually can only be used directly on tables. You can use margin, but if I were you, I'd use the <br/> tag because that will always be rendered the same way by all devices. Margin can be a bit iffy with some email systems like Outlook.
<table width="600" style="margin-bottom:50px;" cellpadding=8 cellspacing=0 border=0>
//contents of table
</table>
<table width="600" cellpadding="0" cellspacing="0" border="0">
//contents of next table
</table>

New HTML email rules: How to center without margin: auto?

As per new email rules (thanks Microsoft and Google) all margins are stripped from your HTML. So using margin: 0 auto is out for a solution.
The structure is:
<table>
<tr>
<td align="center">
Button
</td>
</tr>
Now I could add yet another table inside the td but it is already like the 2nd nested table and I'm hoping there is a different solution other then nesting another table. The align="center" doesn't work.
Try this code, I'm using this code to send html email and it works fine for gmail, outlook
<table style="width: 100%;">
<tr>
<td style="text-align: center;">
Button
</td>
</tr>
</table>
Also, you can check allow css property for html email here: https://www.campaignmonitor.com/css/
Cuz CSS in email is dangerous... buh BAM. ;D
<table width="100%">
<tr>
<td align="center">
Button
</td>
</tr>
</table>
Old, school, but why not just use blank td's on each side? Ah, it's the 90's again!
<table>
<tr>
<td width="25%"></td>
<td width="50%">
Button
</td>
<td width="25%"></td>
</tr>
</table>

html email design for gmail – doesn't show images

I'm designing a email template and test it on various clients including gmail.
Gmail just won't display the images though. Don't tell me gmail doesn't support it cause I'm getting images all the time.
The logo is of course in the html code, not css.
Here's my code for the header-table:
<table align="center" border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse; line-height: 1.5em;">
<tr>
<td>
<p>
<img style="display: block; margin: auto;" align="center" alt="Example logo" src="http://example.com/media/images/email/example-logo.png"/>
</p>
</td>
</tr>
</table>
Any suggestions?
you have mistake
alt="Example" logo"
This html must work
<table width="100%" cellspacing="0" cellpadding="0" border="0" bgcolor="#fefefe">
<tr>
<td align="center">
<table width="700" cellpadding="0" cellspacing="0" border="0" style="border-collapse: collapse;">
<!--header starts-->
<tr>
<td align="center" width="100%"><img src="http://siteurl.com/logo_beta.png" alt="Company Logo" /></td>
</tr>
<tr>
<td align="left">
<p><strong><font size="2.5" face="Times New Roman, Arial, Helvetica, sans-serif">Hi User!</font></strong>
</p>
</td>
</tr>
<tr><td><span><br></span></td></tr>
<!--header ends-->
<!--content starts-->
<tr>
<td colspan="3" align="center">
<table width="700" cellpadding="0" cellspacing="0" border="0" style="border-collapse: collapse;">
<!--Table Content-->
</table>
</td>
</tr>
<!--content ends-->
<!--fotter starts -->
<tr>
<td align ="left">
<p><strong><font size="2.5" face="Times New Roman, Arial, Helvetica, sans-serif">Thanks<br>
With best wishes, Company</font></strong>
</p>
</td>
</tr>
</table>
</td>
</tr>
</table>
Gmail automatically shows you the images in your messages. If you have a slow Internet connection or limited mobile data, you may want to change your setting so that Gmail asks you before showing images.
Note: This is the reason we shouldn't depend on images. Better way is
to use the style alt text so if images is blocked by email provider due to low internet connection or due to security issue a mail still
should work.
Gmail scans every message for suspicious content and if Gmail considers a sender or message potentially suspicious, images won’t be displayed and you’ll be asked whether you want to see the images.
Actual content is from gmail support.

Making whole <td> Clickable through anchor tag

While creating an html email for Outlook, I stumbled upon a small problem that I have not been able to fix.
Below is a screen shot of an html table. I need to make the whole area clickable and not just the text. When I put <a href="#"> around the <td> or <table> it works in browsers but not in Outlook.
Here is the code:
<table border="0" cellpadding="0" cellspacing="0" style="border-top-left-radius: 5px;border-top-right-radius: 5px;border-bottom-right-radius: 5px;border-bottom-left-radius: 5px;background-color: #2FBA45;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;">
<tbody>
<tr>
<td align="center" valign="middle" style="font-family: Arial;font-size: 22px;padding: 15px;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;">
Yes please, send me a quote.
</td>
</tr>
</tbody>
</table>
I know this is an old question, but I was looking for an answer to this problem (clickable whole buttons in Outlook) and stumbled upon the following solution:
<table border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td align="center" valign="middle" >
<!-- start of Outlook compatible button generated by http://buttons.cm/ -->
<div><!--[if mso]>
<v:roundrect xmlns:v="urn:schemas-microsoft-com:vml" xmlns:w="urn:schemas-microsoft-com:office:word" href="http://yoururlhere.com/" style="height:52px;v-text-anchor:middle;width:330px;" arcsize="10%" stroke="f" fillcolor="#2fba45">
<w:anchorlock/>
<center>
<![endif]-->
<a href="http://yoururlhere.com/"
style="background-color:#2fba45;border-radius:5px;color:#ffffff;display:inline-block;font-family:sans-serif;font-size:13px;font-weight:bold;line-height:52px;text-align:center;text-decoration:none;width:330px;-webkit-text-size-adjust:none;">Yes please, send me a quote.</a>
<!--[if mso]>
</center>
</v:roundrect>
<![endif]--></div>
<!-- end of Outlook compatible button generated by http://buttons.cm/ -->
</td>
</tr>
</tbody>
</table>
Note I have not tested the above code.
Other answers did link to the campaignmonitor website, but not this link which provided the solution.
That blog post at campaignmonitor mentions that they have created a specific website to generate outlook compatible clickable buttons - http://buttons.cm based on a solution created by Stig M (#stigm on twitter).
I do not work for campaignmonitor.
Hope that helps someone.
try this
http://jsfiddle.net/KrRzP/
<table border="0" cellpadding="0" cellspacing="0" style="border-top-left-radius: 5px;border-top-right-radius: 5px;border-bottom-right-radius: 5px;border-bottom-left-radius: 5px;background-color: #2FBA45;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt; cursor:pointer;">
<tbody>
<tr>
<td align="center" valign="middle" style="font-family: Arial;font-size: 22px;padding: 15px;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;">
Yes please, send me a quote.
</td>
</tr>
</tbody>
</table>
You can try to use the onClick, <td onClick="go to anchor">. In the inline style you should add cursor: pointer so the cursor is changed to the 'hover a link'-pointer.
Try removing the target="_self". As Outlook is a email client, it probably doesn't recognize it and may be causing the issue.
On a side note, If you are using anchor links within your email (linking elsewhere on the same page), this is not fully supported in all email browsers. Here is the support chart
Use JavaScript "innerHTML" property. By default, in HTML5 you cannot directly add an anchor tag in a table cell element.
<html>
<title>
</title>
<head>
</head>
<body>
<table>
<thead>
<tr>
<td>Youtube</td>
<td id="assign_anchor_tag_here"></td>
</tr>
<thead>
</table>
<script>
var td_element = document.getElementById("assign_anchor_tag_here");
td_element.innerHTML = "<a href='https://www.youtube.com'>Click Here!</a>";
</script>

What's an alternative to margin in HTML Email?

Hotmail does not support margin in HTML emails. Is there an alternative?
I would suggest use tables and play with the width of columns. HTML emails are sometimes better with tables. Also, you can take a look at an email you have in your inbox that does what you want and inspect source code.
As this answer seems a little vague I would also like to point to a very complete answer which covers in more details html emails.
Note:
When it comes to email HTML, note that all best practices from web development goes out the window.
Here is an example using tables,
<table border="0" cellspacing="0" cellpadding="0" align="left" style="width:600px;margin:0 auto;background:#FFF;">
<tr>
<td colspan="5" style="padding:15px 0;">
<h1 style="color:#000;font-size:24px;padding:0 15px;margin:0;">Header</h1>
</td>
</tr>
<tr>
<td style="width:15px;"> </td>
<td style="width:375px;">
Left Column Content
</td>
<td style="width:15px;"> </td>
<td style="width:180px;padding:0 0 0 0;">
Sidebar Content
</td>
<td style="width:15px;"> </td>
</tr>
<tr>
<td colspan="5" style="padding:15px 0;">
<p style="color:#666;font-size:12px;padding:0 15px;margin:0;">Footer</p>
</td>
</tr>
</table>
Live here http://jsfiddle.net/Wr76m/
I was able to get away with transparent horizontal bars, using padding to modify the height. For example:
<hr style="border: transparent; padding: 1px;">

Resources