Question: I'm working on sending emails to various email clients(such as yahoo,hotmail,gmail,....). 

I have a div with id `OrderInfo` inside that I have a **variable** which generates a dynamic table.

**HTML**

```
<div id="OrderInfo">
  variable 
</div>

```

The dynamic **table** generates headers(`th`) with lower case, so I want to change that to uppercase and few more styling. So I have written a selectors

**CSS**

```css
#OrderInfo table tr th {
  text-transform: uppercase;
  background-color: #737373;
  color: white;
}

```

This is working fine for yahoo, hotmail but not for **gmail**.

I came across that only inline styles work for gmail but how can I the styles of modify a dynamic one.

I have no control on the **variable** (I mentioned in the div) it generates a table with values which processes while sending to the client.

So I cannot keep a static table and cannot change the way it renders

Answer: 
Many email service provide not support to css included in email template. Instead use inline css.

Also, Email template should be formed using tables as it only support HTML3. You can use HTML4/5 elements withing `td` tags

Do check [this link](http://webdesign.tutsplus.com/articles/build-an-html-email-template-from-scratch--webdesign-12770). It will help you to build email template.
Try with this styling making your link red with no special effect for the hover situation:

```
a:link{color: red}
a:visited{color: red}
a:hover{color: red}
a:active{color: red}

```

This works fine for me, but if anyone of the 4 statements are missing it will not work neither in a gmail client nor in Outlook. They must also appear in the order shown above.