Здравствуйте! Возникла проблема с z-index’ами в ИЕ7. Раньше никогда на ИЕ7 внимание не обращал, так как за браузер его не считал. Тут требование заказчика чтоб в Ие7 было также как и в остальных.
Описание сути: есть 2 родительских блока 1 и 2. В каждом из них есть по дочернему блоку 3 и 4 соответственно.
Блок 1(красный на рисунке) имеет стили
position:relative;
z-index:10;
Блок 2 (голубой на рисунке )имеет стили
position:absolute;
z-index:52;
Блок 3 (желтый на рисунке) имеет стили
position:relative;
z-index:auto;
Блок 4 (фиолетовый на рисунке) имеет стили
position:absolute;
z-index:90
Во всех броузерах кроме ИЕ7 блок 4 (фиолетовый) перекрывает и блок1 (красный) и блок 2 (голубой), а блок 2 перекрывает блок 3(желтый). В ИЕ7 блок 4 не перекрывает блоки 1 и 2 — это непрваильно, блок 2 перекрывает блок 3 — это правильно.
Подскажите как это лечиться для ие7 и что можно предпринять
Напиши нормально код разметки, слои и стили. А то этот псевдокод нифига не понятен где что, какой слой в какой вложен.
Это описание вообще выносит мозг. У тебя Блок 3 жёлтый, ты пишешь «голубой».
Код сюда: https://codepen.io/pen/ и потом нам ссылку.
Судя по тому, как отображается в IE7 родительские блоки 1 и 3, а 2 и 4 дочерние. IE7 ориентируется только на z-index родительского элемента, т.е. все дочерние блоки блока 1, будут над блоком 3, не зависимо от какой z-index прописан для дочерних блоков. Блоки 2 и 4 всегда отображаются? Если не всегда, а например при hover или при click, тогда стоит увеличить значение z-index для блока 3 на время этого состояния. Если всегда, тогда надо решать этот вопрос как-то иначе, например убрать position:relative у одного из родительского блока, и marginом спозиционировать блок относительно родительского, чтобы во всех браузерах отображалось верно, блок с absolute надо прописать вначале блока.
Описание поправил.
Судя по тому, как отображается в IE7 родительские блоки 1 и 3, а 2 и 4 дочерние — все верно. Насчет всего остального может и поможет, но дочерние блоки 2 и 4 генерятся внутри родительских в произвольном месте (не обязательно вначале или в конце). Принцип генерации мне не известен.