[css3-ui] text-overflow - using line box edge instead of block container

The text-overflow property[1] currently specifies rendering when
inline content overflows its block container element.

[1] http://dev.w3.org/csswg/css-ui/#text-overflow

This can (still) cause (undesirable) overlapping text in the case
where there is a float on the same edge as the inline progression
direction. E.g.

https://bug944200.bugzilla.mozilla.org/attachment.cgi?id=8339998

Firefox and IE is rendering per spec (overlapping text). Webkit
(Safari and I think Chrome too) is determining overflow at the line
box edge instead which provides a more desirable result.

The proposal is to change the spec to use the line box edge (thus
having accounted for floats) instead of the block container edge for
the purpose of determining text-overflow (what Webkit appears to be
doing).

In addition, consider the following test cases as well:

https://bug944200.bugzilla.mozilla.org/attachment.cgi?id=8340052

The first div is the same as the previous example.
The second has no float (for comparison, to show there is no block overflow).
The third explicitly has overflow:visible and shows overlapping text
(all browsers), despite its resemblance to the first div, and with
text-overflow property explicitly specified.

Thus the proposal is to further specify that text-overflow occurs in
that third div as well (per the line box edge again).

Thoughts? Objections?

Some additional past discussion here:

https://bugzilla.mozilla.org/show_bug.cgi?id=944200

Thanks,

Tantek

Received on Wednesday, 5 February 2014 16:36:17 UTC