dialog-polyfill icon indicating copy to clipboard operation
dialog-polyfill copied to clipboard

Dialog changing from position `absolute` to `fixed`

Open craigfrancis opened this issue 4 years ago • 0 comments

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...

  1. CSS dialog to use position: fixed, to match the updated default behaviour.
  2. JS needsCentering() to include && computedStyle.position != 'fixed'
  3. JS reposition() to use element.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.

craigfrancis avatar Sep 18 '21 16:09 craigfrancis