WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED DUPLICATE of
bug 240961
291407
position: relative on a <tr> doesn't create a containing block for absolutely positioned child elements or pseudo-elements, causing them to overflow outside the expected bounds.
https://bugs.webkit.org/show_bug.cgi?id=291407
Summary
position: relative on a <tr> doesn't create a containing block for absolutely...
Moubeen awan
Reported
2025-04-10 22:19:00 PDT
Created
attachment 474896
[details]
We are using absolutely positioned pseudo-elements on the <tr> to render a vertical line and circle beside each row for visual hierarchy. This layout works correctly in most browsers (see Other Browse WHAT: When applying position: relative to a <tr> element and using absolutely positioned pseudo-elements (e.g., ::before, ::after) inside it, Safari fails to contain those pseudo-elements within the row's boundaries. This causes layout inconsistencies in Safari compared to other browsers (Chrome, Firefox, Edge), where the pseudo-elements remain properly bounded within the table row. We use a vertical line and a circle for visual markers alongside each <tr> via ::before and ::after. These are positioned absolutely relative to the <tr>. In Safari, these pseudo-elements render incorrectly — they overflow outside the row, not aligning visually with their associated content. STEPS TO REPRODUCE: 1: Create a <table> with multiple <tr> elements. 2: Add position: relative to the <tr>. 3: Add ::before or ::after pseudo-elements with position: absolute and some content (e.g., a vertical line or shape). 4: Observe the rendering in Safari vs. other browsers. EXPECTED BEHAVIOR (OTHER BROWSERS): The absolutely positioned pseudo-elements are bounded by their parent <tr> and align visually as expected. ACTUAL BEHAVIOR (SAFARI): The pseudo-elements overflow or misalign because Safari doesn't treat <tr> as a positioning context when position: relative is applied. ENVIRONMENT: Safari Version: Version 18.3 (20620.2.4.11.5) macOS Version: 15.3.1 (Sequoia) Tested also on: Chrome, Firefox — works correctly
Attachments
We are using absolutely positioned pseudo-elements on the <tr> to render a vertical line and circle beside each row for visual hierarchy. This layout works correctly in most browsers (see Other Browse
(599.17 KB, image/jpeg)
2025-04-10 22:19 PDT
,
Moubeen awan
no flags
Details
testcase
(931 bytes, text/html)
2025-05-06 23:13 PDT
,
Karl Dubost
no flags
Details
rendering in safari, firefox, chrome
(1.28 MB, image/png)
2025-05-06 23:15 PDT
,
Karl Dubost
no flags
Details
View All
Add attachment
proposed patch, testcase, etc.
Radar WebKit Bug Importer
Comment 1
2025-04-17 22:19:12 PDT
<
rdar://problem/149531003
>
Karl Dubost
Comment 2
2025-05-06 23:01:03 PDT
Moubeen Awan, Thanks for the bug report. It would be easier to diagnose if you had a simple code example.
Karl Dubost
Comment 3
2025-05-06 23:13:51 PDT
Created
attachment 475153
[details]
testcase Ok I created another testcase for it which shows clearly how tr {position: relative} has a different behavior on different browsers.
Karl Dubost
Comment 4
2025-05-06 23:15:27 PDT
Created
attachment 475154
[details]
rendering in safari, firefox, chrome This shows the current rendering in different browsers.
Karl Dubost
Comment 5
2025-05-06 23:17:36 PDT
This is indeed a duplicate of
Bug 240961
*** This bug has been marked as a duplicate of
bug 240961
***
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug