dialog-polyfill
dialog-polyfill copied to clipboard
Dialog changing from position `absolute` to `fixed`
Looks like <dialog> is now using position: fixed... as of Chrome 93?
https://github.com/w3c/csswg-drafts/issues/4645 https://www.chromestatus.com/feature/5756963046555648
Not looked into the details yet, but this can cause the window to scroll to the top with showModal(), which is annoying if showing/hiding the dialog, and finding yourself at the top of the page.
Quick fix for now...
- CSS
dialogto useposition: fixed, to match the updated default behaviour. - JS
needsCentering()to include&& computedStyle.position != 'fixed' - JS
reposition()to useelement.style.top = ((window.innerHeight - element.offsetHeight) / 2) + 'px';
I suspect that might cause other issues, but that's seems to have fixed my immediate problem.