- From: Boris Zbarsky <bzbarsky@MIT.EDU>
- Date: Tue, 01 Jul 2008 12:51:03 -0400
- To: "Tab Atkins Jr." <jackalmage@gmail.com>
- CC: "www-style@w3.org" <www-style@w3.org>
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