我在 ASP XHTML 页面中有以下内容:
<body>
<form runat="server">
<div class="page">
<div class="searchBlock">
Last Name: <asp:TextBox ID="txt_SearchLastName" runat="server">p:TextBox>
First Name: <asp:TextBox ID="txt_SearchFirstName" runat="server </asp:TextBox>
<asp:Button ID="btn_Load" runat="server" Text="Load" />
<br />
</div>
<div class="dataBlock">
Name:
<asp:TextBox ID="txt_FistName" runat="server"></asp:TextBox>
<asp:TextBox ID="txt_MiddleName" runat="server"></asp:TextBox>
<asp:TextBox ID="txt_LastName" runat="server"></asp:TextBox>
<asp:TextBox ID="txt_Suffix" Width="30px" runat="server"></asp:TextBox>
<br />
<asp:Button ID="btn_Save" runat="server" Text="Save" />
</div>
</div>
</form>
</body>
以及匹配的 CSS 表中的相应代码:
.page
{
width: 960px;
background-color: #fff;
margin: 20px auto 0px auto;
border: 1px solid #496077;
}
div.searchBlock
{
padding: 8px;
background-color: #ffc000;
}
div.dataBlock
{
padding: 8px;
background-color: #80ffff;
}
在 Firefox (14) 和 IE8 以及 Visual Studio 2010 中的设计窗口中,表单都按预期显示;顶部(“搜索”块)背景是金色,底部(“数据块”块)是蓝色阴影。但是,在 IE8 中,顶部是金色,底部是白色,并且也没有填充。
在任何人说“嵌套 Div 标签”之前,请注意如果页面和搜索 div 块被删除,同样的事情会发生 - dataBlock 块在 Firefox 和 VS 中具有浅青色背景和填充,但在 IE8 中是白色且没有填充。
在 Firefox 14 和 Visual Studio 2010 的设计窗口中,它可以工作(DataBlock 背景为蓝色阴影,元素周围有填充),但在 IE8 中,它不起作用(DataBlock 背景为白色,没有填充)。
即使我删除了所有表单元素,并将 div 的名称从 dataBlock 更改为 somethingElseBlock,它在 IE8 中仍然无法正常工作。