CSS style for first <td> in a <tr>
Your syntax was incorrect.
td { text-align: right }; /* This was being applied */
td:first-child { text-align: left }; /* This wasn't.. */
Should be:
td { text-align: right; }
td:first-child { text-align: left; }
Note the semi-colons - they shouldn't be outside of the brackets {}
Other than that, you were using :first-child
properly.
jsFiddle demo
td:nth-child(2) { text-align: right; }
You can do that in one line.
Another option, depending on what you want to do:
table tr td {
background-color:red;}
table tr td:nth-child(1) {
background-color:green;}