我的网页在 IE 中按预期呈现。当我进入 Firefox 时,它会在错误的位置呈现一个重要的 div,从而破坏布局。据我所知,Firefox 是错误的。如何让 Firefox 在正确的位置呈现 div?
我在三个 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,尽管两者都应该占据整个宽度。这导致第二个 hr 呈现在红色边框面板下方(以及应位于页面下方的标签),而不是紫色面板下方。我错过了什么?