幅が広く、水平スクロールバーが発生する可能性のある要素があると同時に、要素を正しく配置したいページがあります。例えば:
<body>
<div style="float:right">Stay right</div>
<div style="white-space:nowrap; clear:both; font-size:2em">
Wide child element which determines the width of the page.
</div>
</body>
ワイド要素がブラウザー ウィンドウ内に収まる場合、これは正常に機能します。ただし、ブラウザ ウィンドウが小さすぎて水平スクロールバーが表示される場合、「右に固定」要素はページではなくウィンドウに合わせて配置されます。
スクロールバーを移動すると、「右にとどまる」要素が移動し、実際には何にも整列しません。
ページ全体にテーブルを追加すると、私が望んでいないことが起こります:
<body>
<table width="100%"><tr><td>
<div style="float:right">Stay right</div>
<div style="white-space:nowrap; clear:both; font-size:2em">
Wide child element which determines the width of the page.
</div>
</td></tr></table>
</body>
"stay right" 要素は、ブラウザー ウィンドウのサイズに関係なく、幅の広い子要素の右側に揃えられます。
編集:上記の表ベースのソリューションは、幅の広い子要素の幅またはウィンドウ幅の最大値に合わせて右揃えになります。事実上、これにより、ページのコンテンツ (つまり、幅の広い子要素) によって決定される「最小幅」がページに与えられます。これは私が望んでいるものです - 元のテキストからは明確ではありません、申し訳ありません。
ページ全体をテーブルでラップするよりも良い方法があるかどうか疑問に思っています。