... margin:0autoを使用せずに;
なんで?これにより、スクロールバーのあるページは、スクロールバーのないページとは中央の位置が異なるため、ページをナビゲートするときに、divがジャンプします。皆さん、何を提案しますか?
スクロールバーがビューポートの幅に影響を与え、ページの中心線に影響を与えるため、「ジャンプ」効果は避けられないのではないかと思います。これは、テクニック ( text-align: center;
、position: -50%;
、など) に関係なく発生します。
回避策は、垂直スクロールバーが常に表示されるようにすることです。これを使って:
html { overflow-y: scroll; }
ここから、しかし、そのページのほとんどのサンプルを無視して、一番下にジャンプできます.
overflow-x
とoverflow-y
は、もともと CSS2.x 標準overflow
プロパティの Microsoft 拡張機能であったことに注意してください。ただし、overflow-x
とはどちらもoverflow-y
CSS3 です。
1 つの方法はoverflow-y: scroll;
、すべてのページに HTML タグを付けて、右側にスクロール バーが表示されるようにすることです (必要のないページでは非アクティブになります)。こうすることで、すべてのページでクライアントの幅が同じになります。
純粋なCSS? 他の回答が言っているように、スクロールバーを常に表示させるためだけに。
もう 1 つの方法は JavaScript 経由です。ページにスクロールバーがあるかどうかを DOM Ready で検出し、それに応じてコンテナーを微調整します。
これを試して :
.width960container{
width:960px;
min-height:500px;
position:absolute;
left:50%;
top:50%;
margin:-250px 0 0 -480px;
}