Web ページが IE で期待どおりに表示されます。Firefox に入ると、重要な div が間違った場所にレンダリングされ、レイアウトが崩れます。私が言えることは、Firefox は間違っているということです。Firefox で div を正しい場所にレンダリングするにはどうすればよいですか?
3 つの div の周りに境界線を付けて、それらがレンダリングされている場所を簡単に確認できるようにしました。紫色のものは FF では正しくないが、IE では正しいものです。
編集
JSFiddle: http://jsfiddle.net/PYy6t/1/
JSFiddle は両方のブラウザーで同じように (そして FF と同じ方法で) コードをレンダリングしますが、実際にページを実行すると、IE10 は私のスクリーンショットが示すように、私が望むようにコードをレンダリングします。
私のコード:
<div style="float: left; clear: both; width: 100%;">
<asp:Label ID="Label1" runat="server" CssClass="hdr" Text="New Grade Entry" Font-Bold="true" />
</div>
<div style="width: 100%; float: left; clear: both;">
<hr />
<br />
</div>
<asp:UpdatePanel ID="upnlNewGrade" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div id="divTop" class="Option" style="width: 100%; position:relative; border-color:purple; border-style: solid;
border-width: 1px;">
 
<div class="OptionLabel" style="width: 50%; height:inherit; border-color:green; border-style:solid; border-width:1px; ">
//details removed
<div class="OptionSelect" style="width: 45%; min-height:10px; border-color:red; border-style: solid; border-width: 1px;">
//details removed
 
</div>
</ContentTemplate>
</asp:UpdatePanel>
<div class="Blank" style="width:100%">
 
</div>
<hr style="width: 100%;" />
Firefox のレンダリング:
IE レンダリング:
ご覧のとおり、どちらも幅全体を使用する必要があるにもかかわらず、FF はヘッダー テキストとトップ hr の上から div を開始しています。これにより、2 時間が紫色のパネルの下ではなく、赤枠のパネルの下 (ページのさらに下にあるはずのラベルと共に) にレンダリングされます。私は何が欠けていますか?