計算さ<div>
れた高さプロパティが 633px になる Web ページがあります。これは、インラインかどうかに関係なく、どのカスケード スタイル シートにも設定されておらず、JavaScript にも設定されていません。コード内のあらゆる場所を検索しましたが、番号 633 はどこにも表示されません。必要な高さを設定することでこれを解決できstyle="height: 420px;"
ますが、IEはこれをデフォルトで他のブラウザーでも取得する633pxにオーバーライドするようです。Google Chrome と Firefox/Firebug の両方で、div の実際のコンテンツの高さが 633 ピクセルに近くないことを確認しました。この計算された高さの理由を知る方法はありますか? 完全を期すために、Google Chrome が のスタイル プロパティとして報告するものを次に示し<div>
ます。
Computed Style
background-color: white;
display: block;
float: left;
height: 633px;
margin-left: 30px;
margin-top: 20px;
padding-bottom: 0px;
padding-left: 0px;
padding-right: 0px;
padding-top: 0px;
width: 830px;
Inline Style Attribute
margin-left: 30px;
margin-top: 20px;
#overview
background-color: white;
float: left;
padding: 0px;
width: 830px;
#overview, #overviewempty
margin-top: 9px; (is crossed out)
div
display: block;
前もって感謝します。
編集:
問題の div には 2 つの div が含まれており、1 つの div には 1 行のテキストが含まれ、1 つfont-size: 16px;
の div には高さが 367px あります。
別の編集:
さて、これの原因がわかりました。メイン div に含まれる 2 番目の div には、1 つの画像と、position: relative; top: -335px;
. Internet Explorer は、この要素が空白になるスペースを保持します。それを回避する方法はありますか?
最終編集:
解決しました!フローティング div の内容を でposition: relative
2 番目の divにラップしましたposition: absolute
。これにより、メイン画像の下の空白が取り除かれます:) 最終的な HTML は次のようになります。
<div id="overview">
<div>Some text>
<div>
<img src="someImage.jpg">
<div style="float: right; position: relative; top: -335px;">
<div style="position: absolute; top: 0px; left: 0px; background-color: white; width: 365px;">
Some floating contents
</div>
</div>
</div>
</div>