Asayomu Tech
注目★★★★★Lobsters

div のセンタリング、ブラウザのサイドバーで台無しに――JavaScriptで真の中央配置を実現

30秒で把握

  • 1div センタリングはブラウザ UI 幅の影響でウィンドウ全体ではなく webview 内だけ中央配置される問題が発生
  • 2window.innerWidth/outerWidth とポインタイベント座標から webview のウィンドウ内位置を逆算して補正
  • 3ユーザーが opt-in で有効化できるブラウザ拡張「center, actually」として実装・配置精度向上を実現

要約

CSS グリッドで div をセンタリングする方法は進化したが、ブラウザのサイドバーが表示されると、セン タリングが webview 内で行われるため、ウィンドウ全体の中央ではなくなる。著者は JavaScript で window.innerWidth と window.outerWidth の差を計算し、シフト値を動的に調整する方式を考案した。しかしDevTools が両側に UI を追加すると座標計算が複雑化したため、ポインタイベントの screenX と clientX から webview のウィンドウ内位置を逆算する手法に切り替えた。最終的には「center, actually」というブラウザ拡張にまとめ、ユーザーが opt-in で真の中央配置を選べる仕組みとした。

あなたへの影響

タイル型ウィンドウ環境でサイドバー/DevTools の UI 幅を正確に検知して動的に補正する手法は、マルチモニタ・ウィンドウ管理ツール活用時のレスポンシブデザイン品質向上に応用できる。

推奨:自社サイトで同様の問題に遭遇した場合、記事の JavaScript スニペット (screenX/clientX の差分計算) を参考にした動的シフト実装や、拡張機能の仕組みを検討する価値がある。

詳細を読む → 元記事へ※ 本文は元記事をご確認ください (asayomu は要約のみ提供)

関連する記事

※ 外部記事の権利は原著作者に帰属します。著作権削除要請は copyright@asayomu.jp までご連絡ください(受領確認 24h・実処理 72h 以内)。