- From: Matthew Brealey <webmaster@richinstyle.com>
- Date: 7 Dec 2000 16:28:32 -0000
- To: www-style@w3.org
You wrote:
> Manos M. Batsis wrote:
>
> >
> > Hallo,
> > I'm trying to style every first TD in a table so I give:
> >
> > table tr:first-child{text-align:left;}
>
> This selects all tr in a table that are also the first child of
> their parent element, ie of a tbody tfoot or thead. Not cells.
>
> The effect you are looking for can be achieved with the following
> selector :
>
> td:first-child, td:first-child { ... }
Not so:
tr:first-child td:first-child { ... }
is what you we require, although this is, in fact, not correct, since
although it matches the simple case:
<table>
<tr>
<td>
it doesn't match, for example,
<table>
<col>
<tr>
<td>
</table>
So, you really need selectors that aren't standards yet
[http://www.w3.org/TR/css3-selectors/]:
table > tr:first-of-type > td:first-of-type,
table > tfoot:first-of-type > tr:first-of-type > td:first-of-type,
table > thead:first-of-type > tr:first-of-type > td:first-of-type,
table > tbody:first-of-type > tr:first-of-type > td:first-of-type,
{
... declarations
}
(the extra selectors there are necessary, to avoid selecting the trs
inside tfoots, etc.)
In practice,
tr:first-child td:first-child { ... } will do what you want, because
the fancy table elements really aren't used very much.
-- Random fortune
It's trivial to make fun of Microsoft products, but it takes a real man to
make them work, and a god to make them do anything useful.
Received on Thursday, 7 December 2000 11:28:13 UTC