Open Bug 1727974 Opened 4 years ago Updated 4 years ago

Rendering issue on impfdashboard.de

Categories

(Core :: Layout, defect)

Desktop
Unspecified
defect

Tracking

()

Tracking Status
firefox-esr78 --- wontfix
firefox-esr91 --- affected
firefox91 --- wontfix
firefox92 --- fix-optional
firefox93 --- affected

People

(Reporter: evilpies, Unassigned)

References

()

Details

(Keywords: correctness, testcase-wanted)

Attachments

(1 file)

On impfdashboard.com scrolling down to the section "Impf-Fortschritt nach Altersgruppen" shows a horizontal bar chart for "Mindestens 60 Jahre", "18–59 Jahre" etc. These bars are not correctly aligned on the left side. Opening the developer tools, will however shift the rendering to be correct.

Attached image screenshot

These are nested flexboxes and there is some padding-right: calc(1 * 14.6969384754px);

Also reproducible with Basic/ESR78 and Basic/62.
Fine with Chromium 90.

Has STR: --- → yes
Component: Graphics → Layout: Flexbox
Keywords: correctness
Hardware: Unspecified → Desktop

After resizing the browser window, it gets aligned properly. We may fail to detect changes that we need to invalidate?

Severity: -- → S3
Flags: needinfo?(emilio)

Seems like applying the patches in bug 1700580 locally fixes it for me.

See Also: → 1700580
Flags: needinfo?(aethanyc)

Sweet, thanks for checking.

Flags: needinfo?(emilio)

I tested the site on Firefox 94.0a1 (2021-09-20) (with bug 1700580 fixed), but I can still reproduce this problem.

The three rows are separate flex containers, and their first items have "flex-shrink: 1" [1], which can shrink below their specified width. Each item has different text in it, so they are likely to have different intrinsic width. There no guarantee that the first item in each flex container will have the same specified width unless it has flex-shrink: 0.

However, each item's has children with padding-right: calc( 1 * ( 14.0329287426px + 0.6640097328 * (100vw - 480px) / 800 ) ), which involves with a viewport unit. It seems the website uses some trick to make the flex item's intrinsic size static (to simulate flex-shrink:0 perhaps?), which expose Firefox's width invalidation issue in incremental layout. This doesn't look like a flexbox issue, and a more reduced testcase will be very helpful.

[1] The first items contain "Mindestens 60 Jahre 24,1 Mio. Menschen", "18–59 Jahre 45,3 Mio. Menschen", and "12–17 Jahre 4,5 Mio. Menschen", respectively.

Component: Layout: Flexbox → Layout
Flags: needinfo?(aethanyc)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: