- From: <Matthew.van.Eerde@hbinc.com>
- Date: Mon, 5 Apr 2004 10:21:18 -0700
- To: ian@hixie.ch
- Cc: www-style@w3.org
> From: Ian Hickson [mailto:ian@hixie.ch]
> On Mon, 5 Apr 2004 Matthew.van.Eerde@hbinc.com wrote:
> >
> > And the CSS as such:
> > /* either */
> > #ian td[column=~2] { display: none; }
>
> But that doesn't make sense: How can a td be in a column, if
> it isn't a
> table-cell?
Because it has a column="2" attribute. Once display: none is applied, it
becomes a non-entity, but it still inherits all the stylings of its classes.
There is a first interpretive pass which is CSS-blind to apply row= and
column= attributes to <td>s regardless of other stylings. Only then is
there a second CSS pass to apply stylings to cells based on their column=
and row= attributes.
As you observe above, the second pass may very well knock certain cells out
of the sky. That's fine. The next cell remains in column three, though -
it doesn't slide to the left to fill the vacated space. Once column="3" is
applied, the second pass is powerless to change it. DOM can change it (at
your own risk) via something like td.column++;
> If you have:
>
> <a>
> <b/>
> <c/>
> <b/>
> </a>
>
> ...and:
>
> a { display: table; }
> b { display: table-cell; }
> c { display: block; }
>
> ...then there are three columns (according to CSS2). But you can't know
> this when you do the cascade, you only know it _after_ you have done the
> cascade. So then:
>
> b[column=3] { color: blue; }
>
> ...could never be matched, since you need to know that _before_ the
cascade.
Yes, indeed. Pure CSS, as a tree-only model, allows for only row-level
stylings. (Or presumably only column-level stylings.) This is because you
are thinking of rows and columns as container objects. If you want to allow
simultaneous row- and column-level stylings, you can NOT think of rows and
columns as objects - you HAVE to think of them as attributes.
Actually that's not entirely true. If you allow for a notion of sym-links,
you can get away with thinking of rows and columns as objects. But I don't
propose that because that begins to get kind of silly-complicated.
> --
> Ian Hickson
> )\._.,--....,'``. fL
> U+1047E /, _.. \
> _\ ;`._ ,.
> http://index.hixie.ch/
> `._.-(,_..'--(,_..'`-.;.'
>
Received on Monday, 5 April 2004 13:21:25 UTC