我必须遗漏一些关于z-index的内容。看看这段代码:
var span = document.createElement('span');
span.innerHTML = '<div style="background: none repeat scroll 0px 0px' +
'#000000; opacity: 0.7; display: block; top: 0px; bottom: 0px; ' +
'left: 0px; right: 0px; position: fixed; z-index: 1;"></div>';
span.innerHTML += '<div id="fancybox-wrap" style="opacity: 1; ' +
'width: 420px; height: 200px; top: 467px; left: 481.5px; ' +
'display: block; z-index: 2; ' +
'border: 1px solid black;">Inside div</div>';
document.body.appendChild(span);
基于第二个div具有更高z-index的事实,它应该在第一个div的顶部吗?
看看http://jsfiddle.net/qwertymk/TQSkX/,看看我的意思
答案 0 :(得分:6)
z-index
不适用于position: static
(默认值)的元素
答案 1 :(得分:2)
您需要在css中的第二个div上设置位置,以便读取z-index。
将position: relative;
添加到您的第二个div,它应该可以正常工作。
var span = document.createElement('span');
span.innerHTML = '<div style="background: none repeat scroll 0px 0px' +
'#000000; opacity: 0.7; display: block; top: 0px; bottom: 0px; ' +
'left: 0px; right: 0px; position: fixed; z-index: 1;"></div>';
span.innerHTML += '<div id="fancybox-wrap" style="opacity: 1; ' +
'width: 420px; height: 200px; top: 467px; left: 481.5px; ' +
'display: block; position: relative; z-index: 2; ' +
'border: 1px solid black;">Inside div</div>';
document.body.appendChild(span);