2

ページのコンテンツ全体に問題があります。
スクロールバーが存在しないという問題は、コンテンツが右に約 20 ピクセルありますが、スクロールバーが存在する場合は左にシフトします。ページの右側にスクロールバーが表示されるまで、絶対配置された div をコンテンツの上に 20px 配置することで、これを補正する必要があります。

これは私に代わってひどい欠点ですが、これを簡単に修正する方法が欲しいだけです。すばやく簡単な提案はありますか?メイン コンテンツ div を絶対的なものにしたほうがよいでしょうか?

4

3 に答える 3

1

すばやく汚い方法の1つは、常にスクロールバーを強制的に表示することです。

html { overflow-y: scroll; }

理想的ではありませんが、スクロールバーのオフセットが不足しているためにデザインが破損している場合は、外観が標準化されます。

于 2011-03-28T19:50:13.107 に答える
1

あなたの問題を正しく理解している場合、スクロールバーが存在するときに絶対divが20pxずれていますか? その場合、コンテンツと絶対 div をラップする親 div を設定することができます。

このラッパー div を必ず position: relative; に設定してください。そのため、絶対 div はドキュメント レベルではなく相対 div 内に配置されます。スクロールバーがある場合、ラッパー div は 20px (スクロールバーの幅) だけ左にオフセットされ、絶対 div もオフセットされます。

<div class="wrapper">
  your content goes here
  <div class="absoluteDiv"></div>
</div>

.wrapper { position: relative; }
.absoluteDiv { position: absolute; }
于 2011-03-28T18:19:53.310 に答える
0

あなたのコンテンツが実際に何らかのバグのある方法で変化しているとは思いません。スクロールバーがあるとビューポートが狭くなるだけです。ビューポートの幅に依存するレイアウトを使用している場合 (例: 可変レイアウト、コンテンツが中央に配置された固定幅)、スクロール バーが表示されたときにすべてがスクロール バーの幅の半分だけ移動します。

私の知る限り、スクロールバーの幅がわからないため、これを確実に補正する方法はありません。

于 2011-03-28T18:20:42.297 に答える