Re: <br> and generated-content

Tab Atkins Jr. wrote:
> Actually, it seems explicitly *not* an HTML decision.  HTML says that 
> the <br> element produces a line-break; it has *no* instructions on 
> *how* to produce this, nor should it.

Perhaps.  Unless you actually want interoperability.

> Whether <br> is implemented with 
> ::before, ::after, or as a replaced element (or in any other way) is 
> completely the domain of CSS.

Not really.  Nowhere in CSS is it specified which elements are or are 
not replaced.  All that's specified is what to do with replaced or 
non-replaced elements.  Given that CSS also aims to be somewhat 
language-agnostic, adding one specific HTML element here like this is a 
little odd to me.

> This should be obvious merely from the 
> fact that we're wondering which *CSS selectors* apply to the element

There is no question about what selectors apply.  The question is 
whether it's a replaced element (maybe) and whether certain boxes should 
be generated.  If it's not a replaced element, that answers the box 
question, assuming a certain set of stylesheets.  If it is, the box 
question stays.  In either case, there is the question of what UA 
default stylesheets should look like.  And possibly of whether author 
sheets should be able to change whether the line-break is 'before' the 
<br> or 'after'.

I'll be completely honest: what makes the most sense to me in some ways 
is to make <br> not be a replaced element (in whatever spec), have

   br { content: "\A"; white-space: pre; }

in the default UA sheet, and not have any default ::before/::after (but 
allow them, of course, since it's not a replaced element).  But that 
relies on CSS3 Generated Content stuff which is nowhere close to being 
finalized.

-Boris

Received on Tuesday, 1 July 2008 17:01:48 UTC