2012-03-21 4 views
1

div内にdivを配置しようとしています。 外側divの幅と高さが固定され、内側divにテキストが含まれ、高さが固定され、外側divの幅に自動的に適合します(デフォルトの動作、「width:100%」なし)。位置:絶対にIE7の幅を減らす

ここで、外側のdivとposition:absolute + bottom:0を基準にして内側のdivに相対位置を追加すると、内側のdivが外側のdivの下部に移動しますが、前にあった。ほとんどのブラウザ(Internet Explorer 8以上、Firefox、Opera)ではうまく動作しますが、IE7では内部div内のテキストに合わせて幅が狭くなります。

IE7でこの異なる動作を防止するきれいで有効な方法はありますか?

ここに例があります:http://www.loud.fm/tmp(私は、フィーチャースライダーボックスの内側の下部にあるブラックボックスについて話しています)事前にありがとうございます! :)

答えて

4

+0

これは機能しました。ありがとうございました!私は "display:block;"のようなものを期待していました。助けてくれましたが、それはしませんでした。 –

0

position: absoluteを実行すると、一部の関係が壊れてしまいます。この例では、ブラックボックスのdivはli要素に属し、li要素の静的な幅は590pxに設定されています。すべての状況を処理するためにjavascriptを使用して、内部divの幅を外側の幅に動的に設定できます。それ以外の場合は、親と同じ静的な幅のサイズを設定します。あなたはすでに同様にあなたのCSSに

left: 0; 
right: 0; 

を追加していない理由を下にそれをロックする絶対位置を使用して以来

+0

これは回避策になりますが、追加のJSを使用する必要があります(絶対に必要でない場合は不要です)、固定幅を設定する必要があります(つまり、変更する必要があります私は親の幅を変更する場合は手動で)。それは私がIE7の誤動作を補うためのきれいな解決策とは言えません。とにかく、あなたの貢献に感謝します。 –

0

Div7の幅をIE7で変更した場合、私はかなり似た問題を抱えていました。シンプルなスタイルのタグは、私のためにそれを解決しました:

min-width: 100%; 

試行錯誤の時間が経ってから、これはすべてでした。それが役に立てば幸い!