views:

408

answers:

2

Hi, maybe I'm barking up the wrong tree. I'm have a table with 6 columns, each with an ordered list in. I want them all to have a border except for the first list.

The site is in development here Basically though the html is

<tr>
 <td>
   <ol>
    <li>hello</li>
   </ol>
 </td>
 <td>
   <ol>
    <li>hello</li>
   </ol>
 </td>
 <td>
   <ol>
    <li>hello</li>
   </ol>
 </td>
</tr>

I thought the first-child of tr would work like so tr:first-child ol {style}

+1  A: 

The :first-child selector is CSS2 and isn't supported on IE6. If IE6 is important then you'll need to give the first child a class you can select on instead. But the correct syntax is:

tr td:first-child ol { ... }

When you do:

tr:first-child ...

you're actually selecting <tr> elements that are first children. Also be aware that:

tr :first-child ...

is selecting the first children of table rows.

cletus
Excellent thanks very much, it is working now :)I don't need to worry about IE6 for this site (thank heavens!), thanks again
morktron
+1  A: 

That's not quite how it works, tr:first-child ol selects the tr that is the first child of its parent element. You must use the first-child pseudoclass on the td instead.

RegDwight