Steps to reproduce
Steps:
- Open this link to live example: (required)
- Click on a partially hidden tab under the overlay - it doesn't fully scroll into view
Current behavior
Even if scroll-padding is defined on the tabs container, a clicked tab stops flush against the scroller edge, (e.g. under an overlaid button). scroll-padding has no effect
Expected behavior
The tab stops inside the scroll-padding, as element.scrollIntoView() would
Context
Scroll buttons overlaid on top of the Tabs, to enable 'disappearing' left / right scroll buttons
Your environment
npx @mui/envinfo
System:
OS: macOS 26.6
Binaries:
Node: 22.22.0 - /Users/crispin.c/.nvm/versions/node/v22.22.0/bin/node
npm: 10.9.4 - /Users/crispin.c/dev/omnea/omnea-meta-repo/omnea-app/node_modules/.bin/npm
pnpm: 11.10.0 - /Users/crispin.c/.nvm/versions/node/v22.22.0/bin/pnpm
Browsers:
Chrome: 151.0.7922.174
Edge: Not Found
Firefox: Not Found
Safari: 26.6
npmPackages:
@emotion/react: ^11.13.3 => 11.13.3
@emotion/styled: ^11.13.0 => 11.13.0
@mui/core-downloads-tracker: 7.1.0
@mui/icons-material: ^7.1.0 => 7.1.0
@mui/material: ^7.1.0 => 7.1.0
@mui/private-theming: 7.1.0
@mui/styled-engine: 7.1.0
@mui/system: ^7.1.0 => 7.1.0
@mui/types: 7.4.4
@mui/utils: ^7.2.0 => 7.2.0
@mui/x-charts: 8.9.2
@mui/x-charts-pro: ^8.9.2 => 8.9.2
@mui/x-charts-vendor: 8.6.0
@mui/x-data-grid: 7.26.0
@mui/x-data-grid-premium: ^7.26.0 => 7.26.0
@mui/x-data-grid-pro: 7.26.0
@mui/x-date-pickers: ^7.26.0 => 7.29.3
@mui/x-date-pickers-pro: ^7.0.0 => 7.29.3
@mui/x-internal-gestures: 0.2.2
@mui/x-internals: 7.26.0
@mui/x-license: ^7.26.0 => 7.29.1
@mui/x-telemetry: 8.5.3
@mui/x-tree-view: ^7.26.0 => 7.29.10
@types/react: ^19.1.11 => 19.1.11
@typescript/typescript6: 6.0.2
react: ^18.3.1 => 18.3.1
react-dom: ^18.3.1 => 18.3.1
styled-components: ^6.1.12 => 6.1.12
Search keywords: Tabs scroll-padding scrollSelectedIntoView scroll buttons overlap selected tab
Steps to reproduce
Steps:
Current behavior
Even if scroll-padding is defined on the tabs container, a clicked tab stops flush against the scroller edge, (e.g. under an overlaid button). scroll-padding has no effect
Expected behavior
The tab stops inside the scroll-padding, as element.scrollIntoView() would
Context
Scroll buttons overlaid on top of the Tabs, to enable 'disappearing' left / right scroll buttons
Your environment
npx @mui/envinfoSearch keywords: Tabs scroll-padding scrollSelectedIntoView scroll buttons overlap selected tab