Closed Bug 1579565 Opened 5 years ago Closed 5 years ago

Fix the margin-bottom falsely applied for a block container if it is split by a column-span

Categories

(Core :: Layout: Columns, defect, P3)

defect

Tracking

()

RESOLVED FIXED
mozilla71
Tracking Status
firefox71 --- fixed

People

(Reporter: TYLin, Assigned: TYLin)

References

(Blocks 1 open bug)

Details

Attachments

(4 files)

Load the test case attached.

Some unexpected behavior of margin:

  1. div.container's margin-bottom is applied in the second column before column-span.
  2. block1's margin-bottom seems missing.
  3. block2's margin is missing.
Assignee: nobody → aethanyc
Status: NEW → ASSIGNED

Also, clean up the wording and variable names when aReflowInput is used.

Depends on D47675

The proposed patches fix the obvious unexpected behavior (1) in comment 0 that we incorrectly apply container's block-end margin before the column-span split.

Per spec "Adjoining Margins at Breaks",

When a forced break occurs there, adjoining margins before the break are truncated, but margins after the break are preserved.

For (2), column-span split is a kind of force-break (?) to me, so it seems ok we truncate block1's block-end margin. For (3), Chrome and us both lack the block2's block-start margin, so I don't the rush to fix it before shipping column-span.

Attachment #9097480 - Attachment description: Bug 1579565 Part 1 - Skip applying the child block's block-end margin if it already has a next continuation. → Bug 1579565 Part 1 - Skip applying the child block's block-end margin when placing it if it already has a next continuation.
Summary: Fix margin for a block container and its children if the block container is split by a column-span → Fix the margin-bottom falsely applied for a block container if it is split by a column-span
Attachment #9097480 - Attachment description: Bug 1579565 Part 1 - Skip applying the child block's block-end margin when placing it if it already has a next continuation. → Bug 1579565 Part 1 - Skip applying the child block's block-end margin when placing it if it already has a fixed next continuation.
Attachment #9097480 - Attachment description: Bug 1579565 Part 1 - Skip applying the child block's block-end margin when placing it if it already has a fixed next continuation. → Bug 1579565 Part 1 - Skip applying the child block's block-end margin when placing it if it has a later sibling across column-span split.
Pushed by aethanyc@gmail.com: https://hg.mozilla.org/integration/autoland/rev/614dba91c0b1 Part 1 - Skip applying the child block's block-end margin when placing it if it has a later sibling across column-span split. r=dbaron https://hg.mozilla.org/integration/autoland/rev/5921da698109 Part 2 - Skip block-end side if the frame has a column-span sibling. r=dbaron
Created web-platform-tests PR https://github.com/web-platform-tests/wpt/pull/19493 for changes under testing/web-platform/tests
Upstream web-platform-tests status checks passed, PR will merge once commit reaches central.
Status: ASSIGNED → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla71
Upstream PR merged by moz-wptsync-bot
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: