My webpage displays as I expect in IE. When I get into Firefox, it makes an important div in the wrong place, discarding the layout. From what I can tell, Firefox is simply mistaken. How can I get Firefox to display the div in the right place?
I set borders around the three sections to make it easier to see where they appear. Violet is one that is incorrect in FF, but correct in IE.
EDIT
JSFiddle: http://jsfiddle.net/PYy6t/1/
JSFiddle makes the code identical (and in the same way as FF) in both browsers, but IE10 displays it the way I want, and as my screenshot shows, when the page actually launches.
My code is:
<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 Submission: 
IE renders: 
As you can see, FF runs the div up above the heading text and the top hr, despite the fact that both should take the entire width. This leads to the fact that the second hr will be displayed under the red frame (along with the label, which should be further down the page), and not under the purple panel. What am I missing?
source share