New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 725518 link

Starred by 2 users

Issue metadata

Status: WontFix
Owner: ----
Closed: May 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows , Mac
Pri: 2
Type: Bug



Sign in to add a comment

Same CSS-height is not even in render when zoom

Reported by zcyzcy88...@gmail.com, May 23 2017

Issue description

UserAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:53.0) Gecko/20100101 Firefox/53.0

Steps to reproduce the problem:
This is about horizontal line (border-top, border-bottom, short height, long width), vertical line (border-left, border-right, long height, short width) is also.
Zoom in decimal rate, such as 150%

What is the expected behavior?
border: https://jsfiddle.net/0grpu7g2/4/
border is even.

What went wrong?
height: https://jsfiddle.net/naLs3r5q/2/
height is not even.
This must be a pixel-grid-snap problem when zoom.

Did this work before? No 

Chrome version: 60.0.3108.0  Channel: canary
OS Version: 10.0
Flash Version: 

A affected demo: Google Docs
Look the dividing line.
 
chrome_height.png
255 KB View Download
chrome_border.png
255 KB View Download
Doc.png
22.9 KB View Download

Comment 1 by ajha@chromium.org, May 24 2017

Labels: Needs-Triage-M60

Comment 2 by ajha@chromium.org, May 24 2017

Cc: ajha@chromium.org
Components: -UI Blink>CSS
Labels: -Needs-Triage-M60 M-60 OS-Linux OS-Mac
Status: Untriaged (was: Unconfirmed)
Able to reproduce the similar behavior on Firefox and on the latest chrome canary(60.0.3109.0) and older chrome version(30.0.1549.0) as well. This is replicated on Windows-10, Mac OS 10.12.4 and Linux Ubuntu 14.04.

Marking this as Untriaged for more inputs on correct behavior here.
Another exmaple: Chrome DevTools
Look the lines, so ugly and annoying :(
2017-05-24 23_02_03-Urban Dictionary_ yabai.png
156 KB View Download
2017-05-24 23_03_59-Pictures_2017-05-24 23_02_03-Urban Dictionary_ yabai.png [14_30] - Honeyview 5.2.png
141 KB View Download
Labels: Needs-Bisect

Comment 5 by ajha@chromium.org, May 25 2017

Labels: -Needs-Bisect
As updated in C#2, This is non regression issue and seeing similar behavior on older chrome version: 30.0.1549.0 across all OS. Tested with https://jsfiddle.net/naLs3r5q/2/ zooming to 150%. 

Comment 6 by shans@chromium.org, May 26 2017

Cc: tabatkins@chromium.org
This is ugly, but edge renders the same way too - we have interop on the current behavior.

Forwarding to tabatkins@ to take a closer look and comment on specification implications

Not a direct spec issue - per spec, everything's infinite-precision, but with a UA-specified rounding that we don't concern ourselves with.

The difference in rendering is because all browsers go to great pains to make sure that borders all snap in the same direction, because people *hate* when their same-size-in-CSS borders end up different widths on screen.  On the other hand, we're all generally okay with other sizes snapping differently; in some cases it's *required* to get the rendering people want, like splitting 1000px of width between seven menu options all specified with "width: calc(100% / 7);" - if they all snap to the same integer px you'll either underflow or overflow the container, so instead browsers all do intelligent rounding that makes them add up to exactly 1000px.

This does end up having undesirable effects in places like this, where the rounding becomes obvious. It's not zoom-based at all; you can reproduce it exactly by using a border/height of 1.2px or something - all the borders will be consistent, but the heights will vary slightly between the children. 

All in all this is a quality-of-implementation issue. Nothing is broken, per se, but we can still try and do something about this if we want.  It's just going to run headlong into some thorny issues that already exist.
Status: WontFix (was: Untriaged)
Components: -Blink>CSS Blink>Paint
Status: Untriaged (was: WontFix)
Labels: BugSource-User PaintTeamTriaged-20170530
Status: WontFix (was: Untriaged)
This really is WontFix. We have to put the discretization somewhere, and there are not really better places to put it.
I know it is hard to fix.
But at least you should try to do something, such as individual handle 1px height.
A lot of website use 1px height (not 1px border-top) <hr>.

Sign in to add a comment