【发布时间】:2012-05-11 23:59:21
【问题描述】:
基本上,我试图在我的网站上将重叠角放在#page_container 后面,以便看起来图像与页面重叠。
现场示例:http://jsfiddle.net/xBwQp/15/
HTML:
<div id="page_container">
<div id="banner_wrapper">
<img id="banner_image" src="http://placehold.it/350x150" />
<div class="triangle-l"></div>
<div class="triangle-r"></div>
</div>
</div>
CSS:
#page_container {
background: red;
width: 400px;
position: relative;
z-index: 10;
}
#banner_wrapper {
position: relative;
}
#banner_image {
position: relative;
}
.triangle-l {
border-color: transparent green transparent transparent;
border-style: solid;
border-width: 15px;
height: 0px;
width: 0px;
position: absolute;
right: 0px;
top: 0px;
z-index: 5;
}
.triangle-r {
border-color: transparent transparent transparent blue;
border-style: solid;
border-width: 15px;
height: 0px;
width: 0px;
position: absolute;
right: 0px;
top: 0px;
z-index: 5;
}
您可以看到三角形.triangle-l 和.triangle-r 的z-index:5 明显低于#page_container z-index:10,但它们仍然出现在#page_container 上方。
我已经能够通过将.triangle-l 和.triangle-r 设置为z-index:-1 来实现我想要的结果,但这仅适用于FF、Opera 和Webkit。不支持 IE。
我相信这与堆叠上下文有关。但是,我不确定如何通过跨浏览器兼容性来实现所需的结果。
【问题讨论】: