2010-12-27 11 views
2

:それは最も広いDIVの幅である必要があり、一方、どのようにしてDIVを100%に伸ばすことができますか?いくつかの内側のDIVとDIV考える

<div id="parent"> 
<div id="a"></div> 
<div id="b"></div> 
</div> 

すべてのdiv要素は、同じ幅を持つようにしています。親要素には明示的な幅はありません。

どうすれば実現できますか?

私はwidth: 100%と考えていましたが、親要素をウィンドウサイズに伸ばします。

スケッチ:

################ 
#**************# 
#*aaaaaaaaaaaa*# 
#**************# 
#*********  # 
#*bbbbbbb*  # 
#*********  # 
################ 

でなければなりません

################ 
#**************# 
#*aaaaaaaaaaaa*# 
#**************# 
#**************# 
#*bbbbbbb  *# 
#**************# 
################ 

#はウィンドウ全体を満たしていない親DIVを表します。

+1

タイトルが誤解を招く場合があります。フォーム要素を伸ばすには、 'DIV'ではなく、フォーム要素を伸ばしてください。ロジックを適用する場合は、Javascriptを使用する必要があります(幅の広い部分に伸びますが、必ずしも親の幅ではありません)。 – Robert

答えて

4

まずオフ、CSS関連質問のこのタイプは、CSSやウェブサイトのデザインに焦点を当てSO姉妹サイトDocType、最適です。

問題として、divはブロックレベルの要素なので、指定されたすべての領域に拡張されます。これが起こっていない場合は、これを上書きする何かがあることを意味します。クイックフィックスを行うには、次のように追加してください。

#parent { 
    position: relative; 
} 

そして状況を修正する可能性があります。そうでなければ、CSSの中にいくつかの矛盾があり、いくつかのコードやより具体的な例が与えられれば、もっと助けることができます。しかし、やはり、よくある質問(FAQ)に詳述されているように、DocTypeはこのような質問にもっと適しています。

+0

あなたは正しいです。親のDIVに繋がったのは、内側のDIVではありませんでした。親要素自体であり、それ自体は常にフルサイズです。私はそれを知っていたはずです... –

-2

divは一般的にその内容に基づいて伸びます。 2つの内部divが同じ幅になるようにするには、widthを50%として指定し、もう一方の左側に1を浮動させます。さらに、外側のdivには両方ともクリアを使用します。

だけでなく、この偉大なリソースをご覧ください:

http://www.maxdesign.com.au/articles/css-layouts/

+0

DIVは横並びではなく、上下に1つずつあります。 –

+0

次に、すべての内部divでfloatを使用することができます。しかし、ブラウザのビューポートに関連する、または幅に絶対値を使用する、特定の幅を持つものが必要です。そうでなければ、高さを設定し、各divの高さに基づいてパーセンテージで作業する必要があります。 – Spyros

+0

私は確信していません、あなたは質問を読んでください。たぶんあなたはあなたの答え(とコメント)を言い換えるべきです。しかし、私は "フロート"はサイズに影響を与えず、要素の位置に影響を与えないため、ソリューションの一部にはならないと考えています。 –

関連する問題