Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

CSS style for first <td> in a <tr>

I'm trying to set all the <td> elements of my <tr> to be right-aligned except the first one, which I want to be left-aligned. I tried this:

<style>
td { text-align: right };
td:first-child { text-align: left };
</style>

That makes all cells be right-aligned. If I swap the order of those two rows, then all cells are left-aligned. Highly confused. According to w3schools,

The :first-child selector is used to select the specified selector, only if it is the first child of its parent.

But that doesn't seem to be happening for me.

like image 340
Gargoyle Avatar asked Oct 05 '13 01:10

Gargoyle


People also ask

How do I select the first TR in CSS?

With <tr> tag In this CSS :first-child example, the first row (ie: the first <tr> tag) will have a yellow background color. All other rows in the table will not be styled by the :first-child selector.

How do you select the first TR in a table?

You could also have table > thead > tr and then table > tbody > tr. So you might need to specify whether you want the first row from the thead or the tbody. find('tr:first') will select the tr in the thead. – Jeff S.

How do you style the first row of a table in HTML?

The ::first-line selector is used to add a style to the first line of the specified selector.


3 Answers

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

like image 190
Josh Crozier Avatar answered Oct 19 '22 15:10

Josh Crozier


td:nth-child(2) { text-align: right; }

You can do that in one line.

like image 32
Sean Avatar answered Oct 19 '22 15:10

Sean


Another option, depending on what you want to do:

table tr td {
    background-color:red;}
table tr td:nth-child(1) {
    background-color:green;}
like image 3
TimSPQR Avatar answered Oct 19 '22 16:10

TimSPQR