私は前にこれに出くわしました。作業している要素の一部に「レイアウト」が適用されていないか、要素にレイアウトが必要ないときにレイアウトが適用されている可能性があります。
最初に行うことは、関連する要素からhaslayoutの適用/リセットを開始することです。最も可能性の高いシナリオは、テキスト自体に、それを含む要素にhasLayoutを適用する必要があるというものです。
ここから:http://www.satzansatz.de/cssd/onhavinglayout.html
次のCSSプロパティ/値のペアを適用すると、要素がレイアウトを取得できるようになります。
位置:絶対フロート:左|右表示:インラインブロック幅:「auto」以外の
値高さ:「auto」以外の
値zoom:「normal」以外の値
書き込みモード:tb-rl (MSDN)
オーバーフロー:hidden | scroll | auto
overlay-x | -y:hidden | scroll | auto
position:fixed min-width:any value
max-width:any value than'none' min-height:any value
max-高さ:「なし」以外の値
次のプロパティを別のルールセットのデフォルト値にリセットすると、hasLayoutを提供する他のプロパティが有効になっていない場合、hasLayoutがリセット(または元に戻されます)されます。
幅、高さ(「自動」まで)
max-width、max-height(to'none')(IE 7の場合)
位置(「静的」へ)
float(to'none')overflow(to'visible')(IE 7の場合)
ズーム(「通常」に)
書き込みモード(「tb-rl」から「lr-tb」まで)
MicrosoftのWeb開発者ツールバーを使用して、要素にレイアウトがあるかどうかを確認できます(ない場合、hasLayoutは開発者ツールバーで-1になり、レイアウトがある場合は1になります)。