ドロップシャドウを使用して、あるdiv(ヘッダー)が別の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
プロパティはpositioned要素でのみ機能します。それらにはposition: relative
、position: absolute
、position: fixed
、およびposition: sticky
要素。
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;
}