Created attachment 359457 [details] A test case When a CSS Grid container has a child with `display: contents` with styled ::before/::after, the ::before/::after elements are not displayed. The problem exists in Safari Technology Preview & Safari 12 as well as iOS 12. See the test case: https://codepen.io/mgol/pen/vvqKpL
Adding `display: block` to the ::before/::after styles fixes the issue. The original test case works fine in Chrome 71 & Firefox 64. Edge doesn't support `display: contents` so it won't work there.
This broke a cool Slack logo on Grid demo by Ana Tudor she posted on Twitter: https://codepen.io/thebabydino/pen/rogQZb https://twitter.com/anatudor/status/1085994803173699588
Created attachment 359460 [details] Expected output (Chrome, Firefox)
Created attachment 359461 [details] Buggy output (Safari)
Created attachment 382299 [details] patch
Comment on attachment 382299 [details] patch Clearing flags on attachment: 382299 Committed r251780: <https://trac.webkit.org/changeset/251780>
All reviewed patches have been landed. Closing bug.
<rdar://problem/56750457>