2017-07-21 25 views
1

私は3つのdivを持つウェブサイトを作っています。私はそれらをラッパーに適切にフィットさせようとしていますが、ウィンドウのサイズを変更すると、ウィンドウが小さくなると緑のボックスが他の2つの下に表示されます。ウィンドウのサイズを変更すると、divのサイズが正しく調整されていないように見えます。ここに私が持っているものがあります:https://jsfiddle.net/nq5qwwnc/ディビジョンがウィンドウのサイズ変更で正しくサイズ変更されない

はここで私は何をしようとしていることは、ウィンドウのサイズが変更しても、互いの隣にそれらすべてを保つあるwrappe

`  
    width: 70vw; 
    height: 80vh; 
    max-width: 1920px; 
    max-height: 1080px; 
    left: 50%; 
    border: 2px solid black` 

です。

+0

ビューポートの幅が〜290px未満の場合、私はそのバグを再現できませんでした。あなたは誰もがこの画面を小さくすることを合理的に期待していますか? 'box-sizing:border-box'を追加してブレークポイントをさらに小さくすることもできますが、最後のdivは〜120px幅の新しい行にジャンプします。 –

+0

いいえ、スペースがあまりにも離れているようです。ウィンドウのサイズを変更すると、赤と青のボックスの間隔は同じに保たれ、青と緑の間隔は変わります。ほとんどの場合、この2つのスペースは異なる幅です。 – JAcky

+0

また、このようなレイアウトを行い、応答性が必要な場合は、[flexbox](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Flexible_Box_Layout/)をチェックアウトすることをお勧めします。 _CSS_flexible_boxesを使用する)、レスポンシブなレイアウトをはるかに簡単にします。 –

答えて

0

flexboxesにお問い合わせください。これらは、要素を行や列に配置する非常に簡単な方法を提供します。例えば、あなたの例で

#mainWrapper { 
    display: flex; 
} 

.firstBox, .thirdBox { 
    flex: 0 0 20%; 
} 

.secondBox { 
    flex: 0 0 55%; 
} 

これは幅が20%幅、及び第2の箱55%であることが第一と第三のボックスに伝えます。 0 0部分は、ボックスがメインラッパーの残りのスペースに合わせて動的に拡大するかどうかを決定します。私はこのケースで成長しないように設定しました。

あなたがjsフィドルでこれを動作させることができるかどうか試してみてください!

関連する問題