Skip pseudo-styled parents when calculating percentage height/width in multicol container
Categories
(Core :: Layout: Columns, enhancement, P3)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox68 | --- | fixed |
People
(Reporter: neerja, Assigned: TYLin, Mentored)
References
()
Details
Attachments
(1 file)
| Reporter | ||
Updated•8 years ago
|
Updated•8 years ago
|
| Reporter | ||
Updated•8 years ago
|
| Reporter | ||
Updated•8 years ago
|
| Reporter | ||
Updated•8 years ago
|
| Assignee | ||
Updated•7 years ago
|
| Assignee | ||
Updated•7 years ago
|
| Assignee | ||
Comment 1•7 years ago
|
||
After introducing column-span, the ColumnSetWrapperFrame can have more
than one ColumnSetFrame children if there's any column-span:all child.
Thus we cannot use "height:100%" to pass block size information down to
the -moz-column-content's children.
Skip column span wrapper in nsIFrame::IsBlockWrapper() so that the
percentage column-span:all works.
Before this patch, the height of column contents are set to 100% of the
multicol container, so if the previous in-flows of column content
anonymous boxes consume all the height, later in-flows's height are all
0. In this patch, we don't restrict column-content's height, so their
height are calculated based on their children's height.
column-contain-1a.html passes because it can now correctly calculate the
union of all the column content's rect to find the correct sticky
positioning.
| Assignee | ||
Updated•7 years ago
|
| Assignee | ||
Comment 2•7 years ago
|
||
My patch only attempts to remove the height: 100% for ::-moz-column-set and ::-moz-column-content in ua.css as a first step toward fixing bug 1523595.
There are more to be done. For example, a later continuation of ColumnSet need to restrict the column-content's block size in nsColumnSetFrame::ChooseColumnStrategy if ColumnSetWrapper has block-size constraint and previous continuation of ColumnSet has already consumed some of the ColumnSetWrapper's block size.
Comment 4•7 years ago
|
||
| bugherder | ||
Description
•