2012-01-04 10 views
0

私は2つのフローティングディビジョンを持っています。
最初のdivは100px幅に、もう1つのdivの幅は残りの部分にしたいと思います。次のようなものがあります。フローティングディビジョンの幅

<div style="float:right;width:100px;height:100px;background:black;"></div> 
<div style="float:left;width:100%;height:100px;background:yellow;"></div> 

ここはjsfiddleです。

1つのルールがあります。ページの幅はわかりません!

答えて

5

float:left;width:100%;を2番目のdivから削除すると、その方法でうまくいくはずです。ブロックが右にフローティングされると、フローティングされていないオブジェクトがフローされます。 heightを2つのブロックで同じに設定しているので、うまく整列します。

jsfiddleを更新して、この動作の仕組みを表示しました。

+0

これは私が追加する例で動作します。しかし、私の実際の問題では、高さが異なり、右のdivに丸い角があり、他のdivはその背景にあります。 – Naor

+0

@Naor:これは、テストケースが実際の状況に一致するようにする必要がある理由です。 – thirtydot

+0

バックグラウンドを示す丸いコーナーについては、黄色のdivにマージンを追加してください:http://jsfiddle.net/ptriek/82Kb8/13/ – ptriek

0

浮動小数点のdivは、その内容に基づいて幅を占有します。それ以外の場合は、両方のdivのコンテナに基づいて幅を指定する必要があります。

<div style="float:right;width:100px;height:100px;background:black;"></div> 
<div style="float:left;height:100px;background:yellow;">It will occupy space 
    based on contents</div> 

または親コンテナによってそれを行う...

<div style="width: 400px;"> 
    <div style="float:right;width:100px;height:100px;background:black;"></div> 
    <div style="float:left;width:300px;height:100px;background:yellow;"></div> 
</div> 
0

これは、彼らがそれを昔を作った方法です)

<style> 
#content { width:auto; height:auto; padding:10px 10px 10px 105px; position:relative; float:left; } 
#content #column { position:absolute; top:0; left:0; padding:10px 5px 10px 10px; width:100px; } 
</style> 

<div id="content"> 
    <div id="column">Right part</div> 
    Left part 
</div> 

申し訳ありませんが、ためにレイアウトを作っていませんあなたがEI6をサポートする必要がないときには簡単かもしれません)しかし、浮動小数点ブロックとは違って、絶対にの解像度を保証する必要があります。

関連する問題