У меня нет уникальной проблемы, но по жизни я не могу понять, что я делаю неправильно.
У меня есть страница с серией разделов. Часть раздела представляет собой небольшое изображение. При нажатии на изображение я хочу показать пользовательский элемент управления. Показывать элемент управления тривиально, установите z-индекс немного выше, чтобы убедиться, что элемент управления находится над всем.
Но пользователь все еще может взаимодействовать с разделами за элементом управления.
Чтобы остановить это, я добавил «одеяло». По сути, это div, который представляет собой размер документа со следующим CSS (в синтаксисе jQuery) -
{
position: 'absolute',
top: 0,
left: 0,
width: '100%',
height: $(document).height(),
display: 'none',
zIndex: 1,
backgroundColor: '#FF0000'
};
Да ... фон красный, поэтому я вижу его для тестирования. Я установил непрозрачность до 0,1 (размытие света). Затем я устанавливаю z-index моего пользовательского элемента управления на 2, чтобы он находился поверх одеяла.
Это прекрасно работает в FireFox, Chrome и Safari, но не в IE.
Пользовательский элемент управления не является дочерним для одеяла.
Цель состоит в том, чтобы следующий документ был покрыт одеялом с элементом управления поверх одеяла для взаимодействия с ним. Это то, что я получаю во всех браузерах, кроме IE. То есть ... он идет документ с контролем и оба покрыты одеялом.
Ответ
scunliffe был самым близким (ответил в комментарии, на которые я не могу ссылаться). Пользовательский элемент управления находится внутри относительно расположенного элемента div (на самом деле несколько вниз). одеяло было просто прикреплено к концу тела. Поэтому он был вне относительно позиционированного div и запустил свой собственный стек z-index (как описано здесь ). Поскольку IE 6/7 не работает в этом отношении, независимо от того, какой я установил z-индекс, он всегда будет ниже общего слоя.
Поэтому я переместил одеяло, чтобы стать первым ребенком внутри относительно расположенного элемента div. Это еще не завершено на 100%, потому что если вы прокрутите (что я не могу остановить с этим решением), общий div - это только высота видимого содержимого. Теперь мне нужно выяснить, как получить полную высоту содержимого (видимого и невидимого).