2016-05-05 8 views
2

私はスキューバダイビングクラブのウェブサイトの新しいレイアウトについてHTML構造を完成させました。デザイナーがレイアウトを作って、それをhtmlでまとめました。HTMLは画面サイズよりも大きく表示されます

高さと幅に問題がある場合を除き、すべてがうまく適合します。私はそれをリファクタリングしましたが、それを解決する方法は見当たりません。上部のバナーと左の画像、ナビゲーションの幅は固定されています。コンテンツテキストdivは残りのスペースを占め、スクロールバーはdiv内にある必要があります。ページ全体ではなく、コンテンツのみをスクロールする必要があります。第一の問題は、幅と高さが非常に大きいことです。

スクロールバーが隠されていますが、ここでそれをテストすることができます。

.div-main-right-content { 
    width: 100%; 
    height: 100%; 
    float: right; 
    position: absolute; 
    word-break: normal; 
    background-color: white; 
    left: 220px; 

} 

とdiv要素を含むという事実:http://test.profunda.be/newlayoutr2.html とフィドル https://jsfiddle.net/u9buvpL0/3/

私はそれはとは何かを持っていると思います全幅と高さを有する。

+1

htmlの先頭にを追加してみてください。 – IamFaysal

+1

最初のこと。 .div-main-right-content float:left;要素を絶対的に配置するので、機能しません。 2番目。この要素を絶対的に配置するので、コンテナのサイズは100%になります。テーブルベースのサイトを構築するのは良い考えではありません。 サイトのほとんどは、適切に適合し、適切に拡大する背景が1つ必要です。 .div-main-left-menuだけがbgを分離することができ、絶対的に配置する方がずっと簡単です(この要素のみ!:))。 あなたのサイトにも、一番下の空白が見えます。これは、.div-main-left-menuのトップ値なのだからです。 フローティング要素の作成がはるかに簡単です:)。 –

答えて

1

まず、position:absoluteと一緒にfloat:rightを使用する意味がありません。

次に、正しいコンテンツ部門に100%を与え、コンテナの幅の100%を使用します。左の列はすでに幅の一部を取っていたので、もちろん外に出ています。
これを使用して、右の列をすべて自由な幅にすることができます。
divのメイン右内側を追加します。
使用このCSS:divのメイン・右コンテンツでさらに

.div-main-right 
{ 

    margin-left: 330px; 
} 

.main-right-inner { 
    float: right; 
    width: 100%; 
} 


float: right; position: absolute;

編フィドル削除:-右インナー.main追加のラッパーがないようにすることですhttps://jsfiddle.net/u9buvpL0/6/

を右側の列の内側に浮遊している要素をクリアする際に起こりうる問題。

+0

私はサイトで働いて更新しました。 https://jsfiddle.net/u9buvpL0/7/ライブをテストするには:http://test.profunda.be/newlayoutr3.html。今私は高さを固定する必要があります。 – user2660616

+0

この回答は幅に使用されます。高さについては、javascriptを使っていました。私は、divの高さが、画面のサイズを変更しても、いっぱいにしたいと思っています。 ' <ボディさらにonResize = "MyFunctionを()" のonload = "MyFunctionを()"> '私はそれがない最善の方法を知っているが、それが解決されます。 – user2660616

+0

あなたはcss 'calc':' .cont {height:calc(100vh - 134px);} 'を使うことができます。今日広くサポートされています:http://caniuse.com/#feat=calc。時代遅れのブラウザが気になる場合は、modernizrを使用してブラウザのサポートをチェックし、上記のjquery関数をフォールバックとして使用できます。 – Julia

0

私は問題がDIV-メインのdivに次の2つの列、固定幅と1パーセントのものを持っているということです

0
user this code 
.div-main-right-content 
{ 
    width: 60%; 
    height: 100%; 
    float: right; 
    position: absolute; 
    word-break: normal; 
    background-color: white; 
    left: 220px; 
} 
1

を適切に整列する

.div-main{width:59%} 

に使用し、あなたのコードを見て幅。これはあなたのレイアウトの幅を "変な"原因にします。固定幅のdivのサイズを変更すると簡単に修正できます。

本文にoverflow-y: scroll;という縦スクロールの問題があります:キャンセルしても機能します。

私はあなたのコードにあまりにも多くを見たposition:absolute ...危険です、慎重にそれを使用してください。より難しいがより有用な相対的な位置を使用する。

関連する問題