Re: FAQ about reasons behind CSS

On 7/1/05, Laurens Holst <lholst@students.cs.uu.nl> wrote:
> Orion Adrian wrote:
> 
> >Seriously why are they necessary? This is a problem created by
> >non-semantic tables, not by actual need. HTML tables are still
> >presentational and therefore this need for nth-last-of-child() is
> >because HTML tables are presentational. Get them to fix it, leave CSS
> >alone.
> >
> >
> I don't know if :nth-last-child() is aimed at HTML tables??? I don't see
> how, what makes you think so?
> 
> Given that the selectors are CSS3 and it will still take a one or two
> years (with luck) before CSS3 Selectors is broadly implemented
> (:nth-child is implemented by very few browsers right now, excluding IE,
> Mozilla and Opera), I sincerely doubt those selectors were meant to
> solve anything having to do with HTML.
> 
> I also can't really think of a good use-case for :nth-last-child(), not
> for use with tables either. :nth-child() is a different matter of
> course, that is particularly useful for tables and lists (among other
> things).
> 
> Finally, I wonder what is so presentational about HTML tables? They look
> fine to me, for tabular data.

colspan, rowspan.

They're presentational.

Say, for instance, you have a row that's N/A. Really it's N/A in all
those intersections between one axis and another. A non-presentational
version of HTML tables would be:
<table>
...
<record>
  <th>Detroit</td>
  <c>N/A</c>
  <c>N/A</c>
  <c>N/A</c>
  <c>N/A</c>
  <c>N/A</c>
</record>
...
</table>

table {
  col-merge-on-value: "N/A"
}

A table is a way of presenting data. There are no row or column spans
in the matrix that that table represents. There are presentation rules
however that make it easier to parse. Like merging like values with
something is N/A.

Orion Adrian

Received on Friday, 1 July 2005 14:33:11 UTC