New issue
Advanced search Search tips

Issue 830195 link

Starred by 1 user

Issue metadata

Status: WontFix
Owner: ----
Closed: Apr 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug



Sign in to add a comment

Column-rule should paint under transparent vertical margins of a column-spanning element

Reported by goo...@gtalbot.org, Apr 7 2018

Issue description

UserAgent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0

Example URL:
http://www.gtalbot.org/BrowserBugsSection/CSS3Multi-Columns/column-span-vert-margins.xhtml

Steps to reproduce the problem:
Load self-reduced self-explanatory test:

http://www.gtalbot.org/BrowserBugsSection/CSS3Multi-Columns/column-span-vert-margins.xhtml

which includes a screen shot of expected result.

What is the expected behavior?
The yellow vertical rules should be painted under the 50px vertical margins of column-spanning H2 element

What went wrong?
The yellow vertical rules are not painted under the 50px vertical margins of column-spanning H2 element

Does it occur on multiple sites: N/A

Is it a problem with a plugin? No 

Did this work before? No 

Does this work in other browsers? No

Chrome version: 67.0.3371.0  Channel: beta
OS Version: 
Flash Version: Irrelevant

6.1 column-span
https://www.w3.org/TR/css-multicol-1/#column-span

Example 21

https://www.w3.org/TR/css-multicol-1/#example-59dd6b8a

is right now *_not perfectly_* accurate when it comes to rendering of vertical margins of the <h2> element. And so, I created the beforementioned test.

This comment

https://github.com/w3c/csswg-drafts/issues/2309#issuecomment-379468168

from Rachel Andrew confirms the expected result.

M. Stenshorne is the usual assignee regarding these matters.

Suggested Component for this issue: Blink>Layout>MultiCol

I expect to eventually submit a modified version of such test to the CSS3 Multi-column Layout test suite.
 
Labels: Needs-Triage-M67
Components: Blink>Layout>MultiCol
Labels: -Type-Compat Triaged-ET M-67 Target-67 FoundIn-67 OS-Mac OS-Windows Type-Bug
Status: Untriaged (was: Unconfirmed)
Able to reproduce the issue on Mac 10.13.3, Win-10 and Ubuntu 14.04 using chrome reported version #67.0.3371.0 and latest canary #67.0.3390.0.
This is a non-regression issue as it is observed from M60 old builds. 

Hence, marking it as untriaged to get more inputs from dev team.

Thanks...!!

Comment 3 by e...@chromium.org, Apr 11 2018

Cc: mstensho@chromium.org
Components: Blink>Paint
Status: Available (was: Untriaged)
Should the rules be painted in the margin area of the spanner, but not inside the border box? I don't understand why this makes sense.

Spanners interrupt column content, and their margins don't collapse with anything, apart from margins of adjacent spanners.

I just don't understand why we should paint rules there, since it's not part of column content.

Comment 5 by goo...@gtalbot.org, Apr 11 2018

> Should the rules be painted in the margin area of the spanner, 
> but not inside the border box?

If the border box is transparent, then, yes, the rules should be painted inside (under) the border box of the spanner. My understanding here.




I don't think this makes sense at all. Different column rows may have different actual column-count (depending on content). Which column row should be associated with a given spanner? The former or the latter? I think we'd better limit the rules to the column rows. That's the only place we have columns to put rules between, after all, and painting them elsewhere can only cause ugliness, as far as I can understand.

Demo attached.
demo.html
460 bytes View Download

Comment 7 by goo...@gtalbot.org, Apr 15 2018

Morten, I have examined your test

http://www.gtalbot.org/BrowserBugsSection/CSS3Multi-Columns/StenshorneDemoIssue830195.html

The way I see this is that rules should shine through transparent margins belt of column-spanning element.

Will the rules be painted on top of me? Yes, 2 rules should be painted on top of 1st spanner and 1 rule should be painted at the bottom of 1st spanner. Just like it is - already - right now in Chrome 64+. 

The only difference with now is if column-rule shine through or not in the margin area of column-spanning element. And that is only and solely what this Issue is about.

- - - - - - -

At least 4 examples (with figure) in the current working draft and in editor's draft have problems. They paint the padding area gray and they do not render the margin area of H2 element (in figure 10, figure 11 and figure 15 of editor's draft) which are, by default in all major browsers, 'margin: .83em 0'. If default medium font size is 16px and if H2 font size is 1.5em (like it is in all major browsers), then computed 'margin-top' of an H2 element should be exactly 19.92px and computed 'margin-bottom' of an H2 element should also be exactly 19.92px. 

In figure 16 of Editor's draft, the vertical margins (0.5em) are rendered but then, the 2 column rules do not shine under the margin area of column-spanning H2 elements... which contradicts what I was told in  Issue 2309 .
Labels: -OS-Linux -OS-Windows -OS-Mac
Sorry, I meant "on top of", as in overlapping. I asked if you thought that rules should be painted inside the border box, which also includes the content box, but maybe I was unclear about this. It just seemed really weird to me to be drawn through spanners, unless the spanner had a background or something else to obscure it. But I realize now this never was your intention.

So all we're discussing is the margin area. Thanks for clarifying. My previous demo is completely irrelevant, then. So we can backtrack to #c3 or so.

I still don't understand why we'd like the rules to be part of the spanners' margin area, though. I just think it's weird and surprising, and no browser currently does it. Spanners are taken out of column flow, and their margins don't collapse with column content.

New demo (with question) attached. I think the current rendering in Chrome and Edge should be kept.
demo.html
286 bytes View Download

Comment 9 by goo...@gtalbot.org, Apr 16 2018

> It just seemed really weird to me to be drawn through spanners (...)
> I still don't understand why we'd like the rules to be part of the spanners' 
> margin area, though. I just think it's weird and surprising, and no browser 
> currently does it.

I can accept the current way, manner of handling of browsers. I have no strong opinion on either way. It's probably better to keep current handling if Chrome and Edge already agree. 

I think the spec should be more explicit and say something like:

"
The margin box of column-spanning element interrupt column content, including column-rule. The margins of column-spanning element do not collapse, except with margins of adjacent column-spanning elements.
"

and figures 10, 11 and 15 of editor's draft should be updated accordingly.

One thing that is incontrovertibly certain in my mind is that figure 10, figure 11 and figure 15 of editor's draft do not render the margin area of H2 element. And that is wrong: it induces misunderstanding.

Comment 10 by goo...@gtalbot.org, Apr 16 2018

Okay. I know now what happened in figures 10, 11 and 15 of editor's draft and why I got so confused with those figures and consequently making me doubt, question my understanding of the spec.

http://www.gtalbot.org/BrowserBugsSection/CSS3Multi-Columns/ModifiedFigure10.xhtml

In current figure 10
- - - - - - - - - - 

the margin box of the column-spanning H2 element is itself painted light gray (rgba(216, 216, 216, 0.6)). But, in reality, margin belt of an element is never affected, is never painted by background color. Margins are transparent:
https://www.w3.org/TR/CSS22/images/boxdim.png

in the SVG image, the font sze of the column-spanning H2 element is 18px while all mainstream browsers use a font size of 1.5em (which should translate as 24px) and use 'margin: 0.83em 0'. Current figure 10 does not follow, does not use such font size and margin declarations.

Morten, please close this  issue 830195 . I will report the problems with those figures to spec editors.
Status: WontFix (was: Available)
Ok, thanks.

Comment 12 by goo...@gtalbot.org, Apr 16 2018

[css-multicol] margin box of column-spanning element interrupt column content, including column-rule
https://github.com/w3c/csswg-drafts/issues/2579

[css-multicol] Correct figures 10, 11 and 15 to use H2 standard font-size and margins and make margin belt of H2 element transparent
https://github.com/w3c/csswg-drafts/issues/2580

Sign in to add a comment