不用说,我对现代浏览器没有任何问题。下面是我的页面代码:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<body onload="initializeWidgets();">
<!-- ### Banner ### -->
<jsp:include page="part_banner.jsp"></jsp:include>
<!-- Extra space occurs here... -->
<!-- ### Filters and Table ### -->
<div class="G_overallContainer">
<div class="G_subContainer">
<div class="G_subContainerSection">
<h:outputText value="Filtering Options" styleClass="G_subContainerSectionHeader"/>
<!-- ...here... -->
<!-- ### Filter bar ### -->
<jsp:include page="part_filters.jsp"></jsp:include></div>
<!-- ...here... -->
<div class="G_subContainerSection">
<h:form id="tableForm">
<div class="table">
<h:dataTable value="#{tableDataBean.data}" var="data"
headerClass="tableHeaders"
rowClasses="oddRow,evenRow">
</h:dataTable></div>
<!-- ...and somewhere after here -->
</h:form></div></div>
<h:messages layout="table" style="color:red;" showSummary="true" showDetail="false"/></div>
</body>
</f:view>
</html>
这是我的css嵌套div容器:
body {
margin:0px;
border:none;
padding:0px;
width: 100%;
}
.G_overallContainer {
position: static;
display:block;
border:none;
padding: .25em;
border-width: 0;
border-style: none;
border-spacing: 0;
}
.G_subContainer {
display: block;
border: none;
padding: .25em;
margin:0;
border-style: none;
background-color: #0f2d65;
}
.G_subContainerSection {
display: block;
margin: .25em;
border:none;
}
.G_subContainerSectionHeader {
font-style: bold;
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 11px;
display: block;
padding: .5em;
background: url(../image/steel-blue.png) repeat-x;
color: #000000
}
看起来在IE6中每个元素之间有大约10到15px的额外空间。我很想责怪div标签,因为我知道有一些IE6的bug会导致这样的问题,因为div内有额外的空白,但是额外的空间只发生在某些div标签之后,比如两个subContainerSections和不包含div的横幅之后。我试过将所有边距设置为零,但这并不能解决问题。就好像在违规元素的页边距和边框之间有什么东西…
你们觉得怎么样?
编辑:把我的DOCTYPE放在那里进行澄清
这是我的页面的一个非常精简的版本:链接。如果你用IE6查看它,你会看到"过滤器"标题从正文中分离出来。
如果你能在jsFiddle上抛出一个例子,那会有很大帮助,但我知道IE6有水平间距的问题,可以通过设置元素缩放来修复,
.myhorzel{
zoom:1;
}