Table with double borders and border-collapse incorrectly renders corners.
Reported by
12jdir...@gmail.com,
Dec 7 2016
|
|||||||
Issue descriptionChrome Version : 55.0.2883.75 URLs (if applicable) : https://jsfiddle.net/yxkfyx6w/5/ Other browsers tested: Add OK or FAIL, along with the version, after other browsers where you Firefox 57: OK IE 11: OK What steps will reproduce the problem? (1) Example at https://jsfiddle.net/yxkfyx6w/5/ (2) Create a table element and style it { border-style: double; border-collapse: collapse; } (3) What is the expected result? Tables with double borders and border-collapse: collapse should render their corners the same way as border-collapse: separate What happens instead? The corner of the border has lines that intersect when they should not. Please provide any additional information below. Attach a screenshot if possible. Note that divs don't share this problem unless they are set to { render: table; }
,
Dec 8 2016
,
Dec 8 2016
,
Dec 8 2016
Tested this issue on Ubuntu 14.04, Windows-10 and Mac OS 10.12 using chrome latest stable #55.0.2883.75. By opening the link https://jsfiddle.net/yxkfyx6w/5/ observed the table with double borders collapse incorrectly and renders in the corners. Note: This is a non-regression issue seen from past M35-35.0.1849.0 Thanks!
,
Dec 16 2016
Aleks, Xianzhu, quick thoughts on whether this is paint or layout?
,
Dec 16 2016
This is a paint issue. Currently we have problems painting border that is translucent or transparent in any part, because we just paint one border over another to "resolve" conflicts between the borders with different priorities, and paint each border shared by two cells twice by each cell. We'll need to continue atotic@'s work (https://codereview.chromium.org/1781463002/) to fix the above issues, but only after we find a good way to properly handle paint invalidations. One way is to paint all collapsed borders of a table or a row as one display item. However, even with correct painting, we won't paint the exact the same borders as non-collapsed borders because they have different corner conflict algorithms (or unspecified behaviors) in the spec. For example, we may paint one of the adjoining borders to fully cover the corner, instead of painting diagonal joints. In addition, sometimes we do need to overlap two borders at a corner if neither of the borders can fully cover the corner.
,
Jun 25 2017
Update: https://chromium-review.googlesource.com/c/528561/ fixed some issues about collapsed border joints, but the current behavior of overlapping borders of the same width at joints is kept. We don't think we can paint the same for collapsed and separate borders. No browsers can do that, though browsers do differently for collapsed border joints, and all are spec conforming and it's hard to say which is the best. |
|||||||
►
Sign in to add a comment |
|||||||
Comment 1 by dtapu...@chromium.org
, Dec 7 2016