- From: Bert Bos <bert@w3.org>
- Date: Fri, 29 Mar 2013 15:38:51 +0100
- To: www-style@w3.org
On Tuesday 18 December 2012 23:55:30 Zack Weinberg wrote:
> The whitespace node comes from pretty-printing of the HTML source and
> was not intended to be significant. It would be nice if there were a
> way to tell the renderer not to allocate any space for such
> unintentional nodes. A "white-space" value seems like the logical
> place to put that way; I suggest "white-space:ignore". There is a
> slight awkwardness in that 'white-space' inherits, so it would be
> necessary in this example to mark the inner divs as
> white-space:normal explicitly, but I think we can probably live with
> that.
I have often wanted such a value myself and at one point we even had a
proposal for it: 'text-space-collapse: discard'. (I think it would be
easier to understand as part of 'white-space' though.)
E.g., this is a common case I want it for:
<dl>
<dt>term1<dt>
<dt>term2</dt>
<dd>Definition of term1/term2.
...
</dl>
And I want this displayed as
term1, term2
Definition of term/1term2.
with the DTs on one line with a comma and a space between them.
In HTML4, the following worked (although not in browsers):
dt {display: inline}
dt + dt::before {content: ", "}
But in HTML5, the result is this:
term1 , term2
Definition of term/1term2.
A 'white-space: ignore' could remove the unwanted space, although it is
not completely intuitive, because, as you said, the 'ignore' value
should typically not be inherited:
dl {white-space: ignore}
dt, dd {white-space: normal}
The same problem led us to put special rules in CSS for white space in
tables, but that only helps with tables, not with inline boxes.
Bert
--
Bert Bos ( W 3 C ) http://www.w3.org/
http://www.w3.org/people/bos W3C/ERCIM
bert@w3.org 2004 Rt des Lucioles / BP 93
+33 (0)4 92 38 76 92 06902 Sophia Antipolis Cedex, France
Received on Friday, 29 March 2013 14:39:15 UTC