- From: Bjoern Hoehrmann <derhoermi@gmx.net>
- Date: Thu, 04 Dec 2008 11:03:27 +0100
- To: Alex Mogilevsky <alexmog@microsoft.com>
- Cc: "www-style@w3.org" <www-style@w3.org>
* Alex Mogilevsky wrote:
>Attached is an example with a nowrap element ending with a space,
>followed by a non-space character, by a space and by another nowrap.
As I understand CSS 2.1 16.6.1 list 1 item 4 subitem 2
<nowrap>x#space#</nowrap><inline>#space#y</inline>
Should be the same (if <inline> is normal, nowrap, pre-line) as
<nowrap>x#space#</nowrap><inline>y</inline>
for rendering and word spacing and I assume then also for breaking.
I further think that for any string or inline that cannot be broken x
x ~(wraps the same as)~ <nowrap>x</nowrap>
So the only remaining question is whether
xy := <nowrap>x</nowrap><nowrap>y</nowrap>
should wrap the same as
<nowrap>xy</nowrap>
I think that is more intuitive than the alternative. So in conclusion
#1 <nowrap>x#space#</nowrap>y ~~
<nowrap>x#space#</nowrap><nowrap>y</nowrap> ~~
<nowrap><nowrap>x#space#</nowrap><nowrap>y</nowrap></nowrap>
#2 <nowrap>x#space#</nowrap><inline>#space#y</inline> ~~
<nowrap>x#space#</nowrap><inline>y</inline> ~~
<nowrap>x#space#</nowrap><nowrap>y-nowrap</nowrap>y-remainder ~~
<nowrap><nowrap>x#space#</nowrap><nowrap>y-nw</nowrap></nowrap>y-r
(with <inline> as above and y split into unbreakable part and rest)
#3 <nowrap>x#space#</nowrap><nowrap>y</nowrap> ~~
<nowrap><nowrap>x#space#</nowrap><nowrap>y</nowrap></nowrap>
So you don't break in any of your three cases. The question you asked
>"If there is break opportunity between NoWrap span and following
>character, does NoWrap span prohibit it?"
is a bit different though: if you apply the white space processing for
the purposes of finding breaking opportunities, as I assume above, then
there is no breaking opportunity in your examples in the first place.
Assuming you can break on U+3000 as the definition of word-spacing would
suggest and as at least IE6 and Opera do, then
<nowrap>x#space#</nowrap>#U+3000#y
would be an example of a breaking opportunity following a nowrap, and it
is not removed by the nowrap, at least not through the white space pro-
cessing rules (again, assuming they apply to breaking opportunities) or
the rules I suggested above.
I note that e.g. HTML4 discourages putting white space at the beginning
or end of inline elements and tools like HTML Tidy automatically move it
outside as necessary, considering that I am not sure why you'd ever want
to wrap between two immediately adjacent non-wrapping lines. But I might
well be missing something.
--
Björn Höhrmann · mailto:bjoern@hoehrmann.de · http://bjoern.hoehrmann.de
Am Badedeich 7 · Telefon: +49(0)160/4415681 · http://www.bjoernsworld.de
25899 Dagebüll · PGP Pub. KeyID: 0xA4357E78 · http://www.websitedev.de/
Received on Thursday, 4 December 2008 10:04:01 UTC