2011-08-17 9 views
1

私は赤い部分の影が白い部分と重なっていることを望みます。その逆もありません。レイヤー(特にシャドウ)の順序を指定するにはどうすればよいですか?

Screencap of issue

適用CSS:

#container { (the white part) 
    width: 960px; 
    margin: 0 auto 24px auto; 
    background: #FFFAFA; /*background: url(images/grid.png) center top no-repeat;*/ 
    box-shadow: 0px 5px 45px #343434; 
} 

#banner { (the red part) 
    background: -moz-linear-gradient(top, #BC4E4C 0%, #9E403F 100%); 
    background: -webkit-linear-gradient(top, #BC4E4C 0%, #9E403F 100%); 
    height: 40px; 
    width: 100%; 
    box-shadow: 0px 10px 10px #343434; 
    border-bottom: 1px solid #612525; 
} 

それは、バナーのHTMLの主な内容の前に、重要だ場合。ありがとう!

+2

HTMLはそれ自体について話す能力が過小評価されているため、関連するHTMLコードを英語で記述するのではなく、貼り付けることをお勧めします) – BoltClock

答えて

4

position: relative~#bannerを追加するだけで、新しい"stacking context"が作成されます。


ちょうど安全のために:あなたはまた、影のように上部に表示されるようにしたいあなたの質問に含まれていない他の要素がある場合は、 かもしれないz-index: a numberを必要としています。

+0

レイヤオーダーの設定にはどのように近いですか? – Dani

+2

'z-index'は、' position'を 'static'の初期値から変更しない限り動作しません:' position:relative'が必要です。他に何も 'z-index'を使用していなければ、何かを上に表示させるために明示的な' z-index'を設定する必要はありません。 – thirtydot

+0

または別の言い方をすると、静的に配置された要素はレイヤーではありません。 – BoltClock

0

CSSプロパティz-indexを使用してください。 z-indexが高くなると、要素が前面に表示されます。あなたの例では

#container { 
    z-index: 1; 
} 
#banner { 
    z-index: 2; 
} 

を追加し、それが動作します。

+1

何かを行うには 'position:static'以外のものが必要です。 – alex

関連する問題