我正在尝试以 HTML 格式显示条形图表,可水平滚动并<DIV>s
用于条形图。
我也有标记为浅灰色背景的“不可用”区域。它们的 z-index 为负值,因为它们是“在”条形图“后面”而不是交互式的。
一切正常,直到我尝试设置页面样式;当我<BODY>
在“可滚动图表”上设置背景并返回到白色背景时,图表中不可用的灰色区域不再呈现。
这是一个 SSCE:在http://jsfiddle.net/gZ25A/有一个相应的 Fiddle
<html>
<head>
<style>
/* COMMENTED OUT, cause grey "unavailable regions" not to render.
body {
background: #f4f4f4;
}
#scrollContainer {
background: white;
}
*/
#scrollContainer {
height: 300px;
overflow: auto;
}
.scrollContent {
}
.wideTable {
width: 1100px;
}
.positionContainer {
position: relative;
width: 1100px;
height: 50px;
}
.bar {
position: absolute;
background: #0000ff;
height: 100%;
}
.markBG {
position: absolute;
background: #e0e0e0;
z-index: -1;
height: 100%;
}
</style>
</head>
<body>
<h2>Headline</h2>
<div id='scrollContainer'>
<div id='scrollContent'>
<table class='wideTable'>
<tr>
<td>
<div class='positionContainer'>
<div class='markBG' style='left:100px; width:30px;'> </div>
<div class='markBG' style='left:400px; width:30px;'> </div>
<div class='markBG' style='left:700px; width:30px;'> </div>
</div>
<tr>
<td>
<div class='positionContainer'>
<div class='markBG' style='left:100px; width:30px;'> </div>
<div class='markBG' style='left:400px; width:30px;'> </div>
<div class='markBG' style='left:700px; width:30px;'> </div>
<div class='bar' style='left:50px; width:200px;'>Bar A</div>
<div class='bar' style='left:900px; width:200px;'>Bar B</div>
</div>
</table>
</div>
</div>
More Stuff Down Here
</body>
</html>
如发布的那样,HTML 将显示灰色的“不可用区域”。但是取消注释前两种样式(BG 代表 body,返回白色 BG 代表#scrollContainer)并且灰色区域不再可见。
简而言之,我似乎无法为图表设置白色背景而不会出现渲染“负 Z-index”div 内部的问题。我认为根据 W3C 规范这应该是可行的,我可以采取另一种方法还是我错过了什么?