#html #internet-explorer-7 #position #z-index
#HTML #internet-explorer-7 #позиция #z-индекс
Вопрос:
Каждый вопрос, который я нашел в SO, содержит исправление z-index в качестве решения. Это, к сожалению, похоже, не работает для меня.
Вот моя структура:
- Тело
- оболочка div
- заголовок div
- div main
- страница-контейнер div
- страница div-background-image
- страница div-bottom-gradient
- страница div-background-image
- div первичный
- левое меню div
- внешний контейнер div
- и т.д…
- страница-контейнер div
- нижний колонтитул div
Вот CSS
body {
color: #666;
font-size: 12px;
line-height: 18px;
background: url(images/bg-stripes.gif) repeat bottom left;
font-family: "Helvetica Neue", Arial, Helvetica, "Nimbus Sans L", sans-serif;
border: 0;
margin: 0;
padding: 0;
vertical-align: baseline;
}
#wrapper {
position: relative;
margin: 0 auto;
width: 1280px;
padding-top: 30px;
background: transparent;
vertical-align: baseline;
z-index: 0;
}
#main {
position: relative;
clear: both;
overflow: hidden;
padding: 0 0 0 0;
background: #DDD;
z-index: 0;
margin: 0 auto;
width: 1280px;
}
#page-container {
padding: 0 0 0 0;
position: relative;
z-index: 2;
}
#page-background-image {
position: absolute;
left: 0;
top: 0;
width: 460px;
height: auto;
z-index: 1;
overflow: hidden;
}
Похоже, что выделенный жирным шрифтом раздел в приведенной выше структуре размещается за основным div. Удаление «position: absolute;» из #page-background-image устраняет проблему, но, очевидно, удаляет абсолютную позицию и портит макет. Установка z-индекса для каждого элемента в дереве ничего не меняет, независимо от того, использую ли я индексы от высокого к низкому или от низкого к высокому. Может ли быть другая проблема, вызывающая этот эффект? Я бы предпочел не прибегать к установке этого в качестве фонового изображения, поскольку изображение извлекается и размещается динамически.
Комментарии:
1. пожалуйста, опубликуйте живой пример с некоторым примером текста внутри 🙂
Ответ №1:
Всегда помните, что если вы подаете заявку z-index
, вы также должны подать заявку position
как relative
или absolute
. По умолчанию для a div
установлено значение static
so z-index
, которое игнорируется.
У #main
вас есть z-index
applied, но нет position
— это может вызвать проблему.
Комментарии:
1. Даже после добавления относительных позиций в divs все, что находится поверх #main, по-прежнему отодвигается назад. Я также пробовал z-индексы от низкого до высокого и от высокого до низкого в дереве div, что ничего не дало в IE7. Я постараюсь привести пример, на который я могу сослаться.
Ответ №2:
Оказывается, проблема заключалась в том, что внутри этого дерева других divs был плавающий div. Этот плавающий div убил всех предков, которые не были статическими (что продолжалось до #main). Решение состояло в том, чтобы добавить пустой div непосредственно перед плавающим div.