Проблема с z-index - PullRequest
       29

Проблема с z-index

1 голос
/ 23 декабря 2010

Я должен что-то упустить в 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-индекс, должен ли он быть поверх первого div?

Взгляните на http://jsfiddle.net/qwertymk/TQSkX/, чтобы понять, что я имею в виду

Ответы [ 2 ]

6 голосов
/ 23 декабря 2010

z-index не применяется к элементам position: static (по умолчанию)

2 голосов
/ 23 декабря 2010

Вам нужно установить позицию на втором div в css, чтобы он читал 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);
...