Frontmatter
| id | 8981 |
| title | Enhance Grid Layout Resilience with overflow: clip |
| state | Closed |
| labels | enhancementdesignai |
| assignees | tobiu |
| createdAt | Feb 4, 2026, 12:37 PM |
| updatedAt | Feb 4, 2026, 12:42 PM |
| githubUrl | https://github.com/neomjs/neo/issues/8981 |
| author | tobiu |
| commentsCount | 1 |
| parentIssue | null |
| subIssues | [] |
| subIssuesCompleted | 0 |
| subIssuesTotal | 0 |
| blockedBy | [] |
| blocking | [] |
| closedAt | Feb 4, 2026, 12:42 PM |
Enhance Grid Layout Resilience with overflow: clip

tobiu
Feb 4, 2026, 12:42 PM
Input from Gemini 3 Pro:
✦ Removed
preventScroll: truefromGridBody.onRowClick. We are now relying on theoverflow-y: clipCSS rule (added in this ticket) to prevent the layout shift. This validates that the CSS solution is robust and allows us to keep the JavaScript logic standard.
tobiu assigned to @tobiu on Feb 4, 2026, 12:42 PM
tobiu closed this issue on Feb 4, 2026, 12:42 PM
Problem: The
HeaderToolbarinNeo.grid.Containercan be scrolled out of view when theGridBodyreceives focus or is subjected toscrollIntoView(). This occurs because the parent container hasoverflow: hidden, which browsers still treat as scrollable programmatically (e.g., to align a focused child).Solution: Use the modern CSS property
overflow: clip(specificallyoverflow-y: clip) instead ofhidden. This strictly prevents all scrolling on that axis, including programmatic scrolling, making the layout resilient to focus/scrollIntoView interactions without relying on JavaScriptpreventScrollhacks.Scope:
resources/scss/src/grid/Container.scss..neo-grid-wrapperand.neo-grid-containerto useoverflow-y: clip.GridBody.Note: This is a "Side Quest" improvement for grid layout robustness.