2012-01-07 16 views
3

私はこれに多くの質問を見ましたが、どれもそれにposition:absoluteを持っていないようです(おそらく問題ですが、わかりません) いつもテーブルを扱うために、 divの私の最初の試み私は次の問題に遭遇しました。親divは子divと一緒に展開しない

私の主な問題は、私のchild-divsの1つが(#contentBox)になったときにmain-div(#container)も拡張されていないことです。

あなたはhttp://www.xact.be/consciente/index_v1.htmlを見ている場合のdivが#container-divmin-height上で展開したらすべてが、うまくあるAlがめちゃくちゃになること、問題のためhttp://www.xact.be/consciente/index_v2.htmlを参照してください。

ない私は、それゆえ、なぜ私はあなたの専門知識を求めています:)

+2

あなたはポジションを使用しています:どこにいても絶対的です。より流動的なレイアウトを使用し、ブラウザに要素を調整させる方が良いでしょう。 –

答えて

6

まれに、絶対位置だけを使用してください。 Divを絶対配置すると、ページの通常のフローから除外され、通常の親子関係が中断されます。代わりにposition:相対divと浮動小数点:right。その後、適切なマージンを追加します。また、親divから不要な絶対配置を削除する必要があります。 float、padding、およびmarginだけを使用してdivを配置します。絶対的な配置は、通常の流れの範囲外のものに最適です。

+3

浮動小数点演算がジョブを実行しないような相対的に配置された要素内など、必要なときに絶対位置指定を使用することには何も問題ありません。 – Rob

+2

私は同意しますが、この場合、彼は絶対配置を使う必要はありません。 –

+0

それは本当に良いです! Thxの助け:)テーブルからdivsに変更する時間がかかりましたが、それは覚えておく価値があります –

0
#container{ 
position:relative; 
} 

これは、それを解決する、すべて間違っているかどうか、これをコーディングしていた場合に確認してください!

+0

divの中にスクロールバーが入っていることを追加すると、改善されましたが、#container-divも展開されています:)(おそらく私が間違ってそこにオーバーフローしている) –

+0

@YoeriRousseaux - スクロールバーは、ブラウザウィンドウよりも小さい最小高さを持つためです。 – Rob

+0

オハイオ州オクラホマ、相対的な位置付けでそれを今に持っている、100%ではなく、どのようにそれがatmでなければならないか、そこに来る。助けを感謝します! –

3

本当に必要のない多くの要素にposition要素を追加しました。これはビジュアルエディタであなたを助けてくれるかもしれませんが、それらの属性を削除してライブに行くと、必要な場所で作業することがわかります。

HTMLを覚えておくことは、変更を必要としない限り、属性を参照したり値に属性を与える必要はないということを覚えておくことが重要です。

あなたのコードを確認した後、min-height値を正しく使用していないようです。それを削除して自動高さを割り当てると、追加しようとしていたコンテンツに自由に調整できます。

これは、あなたが持っているものです。

#contentBox { 
position:relative; 
float:right; 
width: 575px; 
min-height: 500px; 
padding: 20px; 
text-align: left; 
color: #333333; 
background-color: #fff; 
background-attachment: fixed; 
background-image: url(images/logo_box.png); 
background-repeat: no-repeat; 
background-position: bottom right; 
} 

私が提案する...

が最小の高さを削除:500pxなどを; &位置:相対;

高さ:autoに置き換えてください。

OR 分の高さの増加値を手動:+

500pxなど
#contentBox { 
height: auto; 
float:right; 
width: 575px; 
padding: 20px; 
text-align: left; 
color: #333333; 
background-color: #fff; 
background-attachment: fixed; 
background-image: url(images/logo_box.png); 
background-repeat: no-repeat; 
background-position: bottom right; 
} 

(それらの位置を削除する属性、それは無期限に特定の要素を調整するために見て、その後破るない場合、あなたは、あなたのマージンとパディングを信頼することができ

希望このことができます!

+0

アドバイスをいただきありがとうございます。私がコンテンツボックスに使用した最小の高さは、そのボックスにコンテンツがなくても、それが本当に大きくなければならないからです。 ) –

+0

それをどのように解釈するかによって異なります。私はあなたの最小の高さを調整することができることを言及した。あなたは別のページを使用しており、あなたのCSSを各ページの中に入れているので、これは1レベルの制御をより深めることができます...したがって、コンテンツの量が少ないページでは "min-height:500px;さらにそのページでその値を増減する:D –

+0

私はあなたにHTML5&CSS3への移行を提案することを強いられます。私は7年間ウェブにいました。そして、これは私たちのほとんどが最近のところです。これがあなたがなりたい場所であることだけを知っていてください! (私は何時間も話したことがありますが、これは本当ではありません....) –

0
#container{ 
    overflow: auto; 
} 

はそれが助けを願っています。

関連する問題