Re: Proposal: :column pseudo-class

On 7/4/05, Ian Hickson <ian@hixie.ch> wrote:
> 
> On Mon, 4 Jul 2005, Emrah BASKAYA wrote:
> >
> > Assuming that the UA will know what coloumn the element is in as soon as
> > it comes accross the elements opening tag during layout
> 
> That is not the case. Well, it is, depending on what you mean.
> 
> There are two types of "columns": Structural columns and layout columns.
> 
> A <td> is always in a structural column, and that is how the structural
> :column() pseudo-class would indeed work.
> 
> However, a <td> can be placed in entirely different layout columns.
> Imagine, e.g.:
> 
>    td { display: block; }
> 
> (...as opposed to the default,
> 
>    td { display: table-cell; }
> 
> ...)
> 
> The pseudo-class David mentioned work work exclusively based on the
> structure of the document, and be unrelated to the layout.
> 
> Incidentally, both the layout and the structure can change dynamically.
> The structure can change through DOM calls, the layout through those and
> even simpler things like:
> 
>    td:hover { display: table-row; }

How about this? Prevent reassignment of display in in pseudo-element
or pseudoclass. Doesn't the ability cause problems anyway with things
like ::first-line { display: none }? While I'd like display taken out,
my proposal for it's alternative isn't ready so I'm going to go with
the flow (pardon the cliche).

Of course in that case you'ld want to move the functionality of
display: none elsewhere or simply make it the exception.

As I see it, :column() only makes sense on display: table-* so it has
to cover the presentational case and not the semantic case. Once the
display: change is removed, the threat seems to be gone and now it's
possible to check to see what column you're in since you know the
display classes of all your parents before hand.

Orion Adrian

Received on Monday, 4 July 2005 15:12:06 UTC