- From: Gérard Talbot <www-style@gtalbot.org>
- Date: Sun, 21 Dec 2014 00:28:47 -0500
- To: fantasai <fantasai.lists@inkedblade.net>, MURAKAMI Shinyu <murakami@antenna.co.jp>
- Cc: W3C www-style mailing list <www-style@w3.org>
Le 2014-12-19 20:16, Gérard Talbot a écrit : > Le 2014-12-19 19:32, fantasai a écrit : >> Gérard has been testing Writing Modes and found an interesting >> discrepency between Webkit/Blink and Gecko: >> >> <horizontal-tb> >> <vertical-lr> >> <p>I have margins</p> >> </vertical-lr> >> </horizontal-tb> >> >> In Firefox, the left and right margins of the <p> collapse out >> through the content edge of <vertical-lr>. >> >> In Webkit, they are contained by <vertical-lr>'s content box. >> >> I am wondering what is the preferred behavior in such a case: >> should these margins collapse? >> >> ~fantasai > > Reduced test: > > http://www.gtalbot.org/BrowserBugsSection/CSS3WritingModes/child-margins-orthogonal-flow-collapsing.xht > > No presence of orange square in Firefox 37.0a1 build 20141215. > Computed width of div in Firefox 37.0a1: 100px > > Presence of orange square in IE11 (I don't know its minor version) and > Chrome 39.0.2171.95. > Computed width of div in Chrome 39: 200px > > Gérard Spec quotes ----------- " The margin collapsing rules apply exactly with the block-start margin substituted for the top margin and the block-end margin substituted for the bottom margin. " 7.4 Flow-Relative Mappings http://www.w3.org/TR/css-writing-modes-3/#logical-direction-layout " because the containing block is in a horizontal writing mode, the vertical margins on the child participate in margin-collapsing, even though they are in the inline-axis of the child " Section 7.3 Orthogonal Flows, Example 14 http://www.w3.org/TR/css-writing-modes-3/#orthogonal-flows This seems to suggests that margin collapsing should occur and that Chrome and IE11 are correct. " Two margins are adjoining if and only if: both belong to in-flow block-level boxes that participate in the same block formatting context no line boxes, no clearance, no padding and no border separate them (Note that certain zero-height line boxes (see 9.4.2) are ignored for this purpose.) both belong to vertically-adjacent box edges, i.e. form one of the following pairs: top margin of a box and top margin of its first in-flow child (...) bottom margin of a last in-flow child and bottom margin of its parent if the parent has 'auto' computed height " CSS2.1, section 8.3.1 Collapsing margins http://www.w3.org/TR/2011/REC-CSS2-20110607/box.html#collapsing-margins Additional test --------------- http://www.gtalbot.org/BrowserBugsSection/CSS3WritingModes/child-margins-orthogonal-flow-collapsing-2.xht I believe the latest IE11.0.15 renders this test exactly like Chrome 39.0.2171.95. Firefox 37.0a1 build 20141215 displays both orange squares only when borders are rendered around the div#vert-rl-wrapper and then computed width jumps from 100px to 300px. Gérard
Received on Sunday, 21 December 2014 05:29:19 UTC