tailwindcssを使っているとheadlessuiやtailwinduiなどのComponentテンプレートを使うと思う。Modalを表示した時に元の画面が裏でスクロールするのを防ぐため下記のCSSが<html>
タグに付与される。
overflow: hidden; padding-right: 15px;
これは右側のスクロールバーが消えるため、そのレイアウト崩れをさせないために15pxのpaddingを取っているのだが、上部固定のheaderなどをposition: fixed; text-align: center;
で設定していると(fixedはwindowに対しての絶対位置で指定するため)中央の位置が若干右にずれて、Modal表示時にカクッとなってしまう。
MaterialUIであればscrollLock={false}
のような設定ができるが、そもそも背面のViewのスクロールをロックするというのはUX的には正しい挙動だと思うので、CSSで頑張る。
結論、tailwindcssを使っているなら、headerにpx-2
(padding-left: 15px; padding-right: 15px;
)を指定してやっておけば最初の位置からずれないので解決する。