1

... margin:0autoを使用せずに;

なんで?これにより、スクロールバーのあるページは、スクロールバーのないページとは中央の位置が異なるため、ページをナビゲートするときに、divがジャンプします。皆さん、何を提案しますか?

4

4 に答える 4

4

スクロールバーがビューポートの幅に影響を与え、ページの中心線に影響を与えるため、「ジャンプ」効果は避けられないのではないかと思います。これは、テクニック ( text-align: center;position: -50%;、など) に関係なく発生します。

回避策は、垂直スクロールバーが常に表示されるようにすることです。これを使って:

html { overflow-y: scroll; }

ここから、しかし、そのページのほとんどのサンプルを無視して、一番下にジャンプできます.

overflow-xoverflow-yは、もともと CSS2.x 標準overflowプロパティの Microsoft 拡張機能であったことに注意してください。ただし、overflow-xとはどちらもoverflow-yCSS3 です。

于 2012-07-14T18:31:49.503 に答える
2

1 つの方法はoverflow-y: scroll;、すべてのページに HTML タグを付けて、右側にスクロール バーが表示されるようにすることです (必要のないページでは非アクティブになります)。こうすることで、すべてのページでクライアントの幅が同じになります。

于 2012-07-14T18:31:42.390 に答える
0

純粋なCSS? 他の回答が言っているように、スクロールバーを常に表示させるためだけに。

もう 1 つの方法は JavaScript 経由です。ページにスクロールバーがあるかどうかを DOM Ready で検出し、それに応じてコンテナーを微調整します。

于 2012-07-14T18:33:12.250 に答える
0

これを試して :

.width960container{
    width:960px;
    min-height:500px;
    position:absolute;
    left:50%;
    top:50%;
    margin:-250px 0 0 -480px;
}
于 2012-07-14T18:49:33.590 に答える