- From: Alan Gresley <alan@css-class.com>
- Date: Fri, 23 Nov 2012 22:44:48 +1100
- To: "Kang-Hao (Kenny) Lu" <kanghaol@oupeng.com>
- CC: Simon Pieters <simonp@opera.com>, W3C CSS Test Suite <public-css-testsuite@w3.org>
On 23/11/2012 9:07 PM, Kang-Hao (Kenny) Lu wrote: > (12/11/23 17:25), Simon Pieters wrote: >>> # span { padding:1px 0 } >>> # <div id=test><span></span></div> >>> # <div id=ref></div><div id=s_ref></div> >>> >>> This is a bit puzzling, in particular about "<div id=s_ref></div>". I >>> think what this test runs into is this part of CSS 2.1 9.4.2: >>> >>> # Line boxes are created as needed to hold inline-level content >>> # within an inline formatting context. Line boxes that contain no >>> # text, no preserved white space, no inline elements with non-zero >>> # margins, padding, or borders, and no other in-flow content (such as >>> # images, inline blocks or inline tables), and do not end with a >>> # preserved newline must be treated as zero-height line boxes for the >>> # purposes of determining the positions of any elements inside of >>> # them, and must be treated as not existing for any other purpose. >>> >>> While the condition "no inline elements with non-zero margins, padding, >>> or borders" probably has quirks-mode difference too (and should be >>> specced), if you are testing the current prose to see if the above >>> <span> contributes to line height, I'd suggest the test be written in >>> this way: >>> >>> | div { line-height: 0} span { padding:1px 0; line-height: normal } >>> | <div id=test>x<span></span></div><div id=ref>x</div> >>> | <div id=s_ref>x<span>x</span></div> >>> >>> The 'x' at the beginning ensures that the tests don't go into the >>> "zero-height line boxes" situation. >>> >>> Ditto for all others. >> >> I think this is intentional. We could add tests with "x" in as well, >> though, if that still makes the quirk kick in. >> >> Do you have a test case demonstrating quirks-mode differences in "no >> inline elements with non-zero margins, padding, or borders"? > > (By the way, the CSS 2.1 propose here should really be "non-zero > horizontal margins/paddings/borders/" as you have observed.) > > Well, your test case: > > # span { margin:0 1px } > # <div id=test><span></span></div> > # <div id=ref></div><div id=s_ref>x</div> > > shows that :) (whether non-zero margins matter only in standards mode). > > What I am saying here is that if you compare this test with > > | div { line-height: 0;} span { margin:0 1px; line-height: normal; } > | <div id=test>x<span></span></div> > | <div id=ref>x</div><div id=s_ref>x<span>x</span></div> > > you'll see that Firefox passes the former but not the latter. That is, > the <span> in "<div id=test>x<span></span></div>" does contribute to > line height (in a buggy way). This is probably an edgy bug Gecko has, > but the point is that the result could be differnt. > > In other words, I guess the best option is to spec the quirk about > "zero-height line boxes" and include both test cases. > > > > Cheers, > Kenny So are there any links to any testcase? -- Alan Gresley http://css-3d.org/ http://css-class.com/
Received on Friday, 23 November 2012 11:45:24 UTC