【发布时间】:2013-04-04 05:18:51
【问题描述】:
我的网页在 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 将 div 从标题文本和顶部 hr 上方开始,尽管事实上两者都应该占据整个宽度。这导致第二个 hr 呈现在红色边框面板下方(以及应位于页面下方的标签),而不是紫色面板下方。我错过了什么?
【问题讨论】:
-
Firefox 可能不仅仅是错误的。你有 jsfiddle 吗?
-
请提供一个简化的jsFiddle 显示问题
-
不能肯定地说没有 JSFiddle 或 Live 站点来进行故障排除,但这看起来是一个明显的问题。什么版本的 IE?
-
这可能与FF或IE无关。首先也是最重要的总是从 FF 开始,然后 CB 到 IE,如果这些问题在 FF 中工作,这些问题在 IE 内部更容易解决。另外,您是否使用包装器来包含所有内容,添加一个示例供我们使用可能是明智的。其次,如果您使用浮动,它将解释为什么 FF 只看到一小部分页面。但是我不能再给你一个例子了。
-
看看我的5分吧。我让它在 FF、chrome、safari 和 opera 中工作。