How to make first column of a row black and second column red

You could use:

td { color: black; }
td:nth-child(2) { color: red; }

This is possible without CSS3 !

Sample
http://jsfiddle.net/Q3yu5/1/

CSS

tr.special_row td {
    background-color: #000;
}

tr.special_row td + td {
    background-color: #f00;
}

tr.special_row td+td+td {
    background-color: #fff;
}

HTML

<table>
<tr class="special_row">
    <td>1</td>
    <td>2</td>
    <td>3</td>
    <td>4</td>
</tr>
<tr>
    <td>1</td>
    <td>2</td>
    <td>3</td>
    <td>4</td>
</tr>
</table>

... this is a row specific action not whole table should be effected.

Then applying different styles to your first and second column of the given row could be useful:

<style type="text/css">
    td.first
    {
        background-color: black;
        color: white;
    }
    td.second
    {
        background-color: red;
        color: white;
    }
</style>
<table>
    <tr>
        <td class="first">1st row, 1st column</td>
        <td class="second">1st row, 2nd column</td>
    </tr>
    <tr>
        <td>2nd row, 1st column</td>
        <td>2nd row, 2nd column</td>
    </tr>
</table>

Tags:

Css