Ответ 1
Свойство z-index
работает только с относительными, абсолютными или фиксированными позиционируемыми элементами.
Попробуйте указать div #middle
a position: relative
.
Я пытаюсь использовать тень, чтобы она выглядела как один div (заголовок), "выше" другого. моя проблема в том, что "средний" div покрывает тень. Я попытался использовать z-index, чтобы поместить заголовок div в средний div, но он не работает (тень все еще закрыта). когда я помещаю разрыв между div, я вижу тень, и поэтому я знаю, что часть кода работает правильно. У меня есть следующий код html:
<div id='portal_header_light'>
<img src="Home.png" height="32px" \>
<img src="Wrench.png" height="32px" \>
</div>
<div id='middle'></div>
и этот css:
#portal_header_light {
font-family:Arial, Helvetica, sans-serif;
font-size:12px; text-align:center;
-moz-border-radius: 3px 3px 3px 3px;
-webkit-border-radius: 3px 3px 3px 3px;
padding: 0px 3px 0px 3px;
background: -moz-linear-gradient(center top, #999999 0%,#ffffff 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0, #999999),color-stop(1, #ffffff));
-webkit-box-shadow: 0px 1px 10px rgba(0, 0, 0, 0.3);
-moz-box-shadow: 0px 1px 10px rgba(0, 0, 0, 0.3);
box-shadow: 0 1px 10px rgba(0, 0, 0, 0.3);
z-index:5;
}
#middle{
height:308px;
background-color:white;
z-index:-1;
}
любые идеи? спасибо.
Свойство z-index
работает только с относительными, абсолютными или фиксированными позиционируемыми элементами.
Попробуйте указать div #middle
a position: relative
.
Попробуйте использовать тень вставки в элементе, который вы хотите отобразить.
.element-that-is-to-be-under{
-webkit-box-shadow: inset 0 8px 4px -4px #ddd;
-moz-box-shadow: inset 0 8px 4px -4px #ddd;
box-shadow: inset 0 8px 4px -4px #ddd;
}
Выполнение этого будет облегчать перетасовку z-index, и вы будете намного счастливее в конечном итоге.
Основываясь на других ответах здесь, я нашел, что это сработало лучше, положив position: relative
на #portal_header_light
вместо #middle
. Тогда мне не пришлось иметь z-index: -1
, который (по крайней мере, в Chrome) перепутал эффекты наведения курсора и вызвал некоторые другие нечетные проблемы.
http://jsfiddle.net/thaddeusmt/m6bvZ/
Вот упрощенный код:
<div id="portal_header_light">Header Content</div>
<div id="middle">Test Content</div>
#portal_header_light {
position: relative;
padding: 3px;
background: #eee;
-webkit-box-shadow: 0px 4px 10px -2px rgba(0, 0, 0, 0.3);
-moz-box-shadow: 0px 4px 10px -2px rgba(0, 0, 0, 0.3);
box-shadow: 0 4px 10px -2px rgba(0, 0, 0, 0.3);
z-index:5;
}
#middle{
height:308px;
background-color:#fee;
padding: 3px;
}
z-index
не будет работать, если ваши элементы не являются position:absolute