2012-02-24 7 views
2

私は挫折しています。私は何時間もこれを解り、無駄なことを研究してきました。 はい、私はすでにここでこれに関する議論があることを知っています:IE7 float right causes parent element to take up full widthIE7 float right bug通常の解決策はありません

しかし、それは私の問題を解決するようではありません。 :(

右浮動要素内に2つの浮動小数点(左右)があります。もちろん、すべてのブラウザでIE7以外は動作します。親右浮動要素は、2つの浮動小数点数を囲む代わりに全幅に伸びます。

私が試みたズーム:1親要素に Iは表示を試みた:親要素のインラインブロック 私は最小幅試みた:1ピクセル親上の素子

NONEのどちら私は間違って何をしていますか?

<div class="parentfloat"> 
    <div class="leftblock"> 
     LEFT FLOAT 
    </div> 
    <div class="rightblock"> 
     RIGHT FLOAT    
    </div> 
</div> 

.parentfloat { 
    float: right; 
    display: inline-block; 
    zoom: 1; 
    min-width: 1px;} 

.leftblock { 
    float: left; 
    text-align: left; 
    margin-right: 60px; 
    padding: 0;} 

.rightblock { 
    float: right; 
    text-align: right; 
    padding: 0;} 

答えて

4

要素を含む.parentfloatに明示的な幅を設定しないと、デフォルトで(IE7で)幅の100%を占めるように拡張されます。これは、.parentfloatクラスの明示的な幅を定義しています。

この例のjsfiddleを参照してください(わかりやすくするため背景色を追加しました)。

EDIT: これはIE7特定のバグで考えると、私はお勧めのいずれかの条件付きスタイルシート、CSSハック、またはconditional classを使用してIE7に一定の幅を適用します。

+0

幅を設定せずにこれを行う方法はありますか?幅は、内部で発生するメッセージに応じて拡大されます。 –

+0

@MarianneYatesManthey IE7にのみ幅を適用することをお勧めします。これを達成するためのさまざまな方法を説明したリンクについては、私の更新された回答を参照してください。 – Moses

+0

ありがとうモーゼス、私がやったことです。 –

関連する問題