2017-01-16 3 views
0

は、私は、単純なHTMLとCSSのコードを持っている:なぜz-indexが機能しないのですか?

HTML:

<div class="header"> 
    <div class="tip"></div> 
</div> 

CSS:

.header { 
    display: block; 
    width: 260px; 
    min-height: 222px; 
    background-color: #252525; 
    position: relative; 
    z-index: 5; 
    -webkit-box-shadow: 0 0 5px #000; 
    -moz-box-shadow: 0 0 5px #000; 
    box-shadow: 0 0 5px #000; 
    border-radius: 2px; 
} 
.tip { 
    display: inline-block; 
    width: 10px; 
    height: 10px; 
    right: 11px; 
    top: -5px; 
    transform: rotateZ(45deg); 
    position: absolute; 
    z-index: 1; 
    background-color: red; 
    -webkit-box-shadow: 0 0 5px #000; 
    -moz-box-shadow: 0 0 5px #000; 
    box-shadow: 0 0 5px #000; 

} 

私はちょうど.tipブロックが.headerブロックの下にあったとします。 .tipのzインデックスは.headerのZインデックス、その後小さいものの しかし、今では、次のようになります。 enter image description here

これは私が欲しいものです:何らかの理由enter image description here

、Z-indexが」doesnの仕事。 私はZ値が.headerブロックに設定されている必要があります。これは、Z-インデックスを持つ別のブロックがあるためです。

答えて

2

親要素の子が親要素よりも高いZ-インデックスを持つようにするには、親のZ-インデックス値を削除します。

.header { 
 
    display: block; 
 
    width: 260px; 
 
    min-height: 222px; 
 
    background-color: #252525; 
 
    position: relative; 
 
    /*z-index: 5;*/ 
 
    -webkit-box-shadow: 0 0 5px #000; 
 
    -moz-box-shadow: 0 0 5px #000; 
 
    box-shadow: 0 0 5px #000; 
 
    border-radius: 2px; 
 
} 
 
.tip { 
 
    display: inline-block; 
 
    width: 10px; 
 
    height: 10px; 
 
    right: 11px; 
 
    top: -5px; 
 
    transform: rotateZ(45deg); 
 
    position: absolute; 
 
    z-index: -1; 
 
    background-color: red; 
 
    -webkit-box-shadow: 0 0 5px #000; 
 
    -moz-box-shadow: 0 0 5px #000; 
 
    box-shadow: 0 0 5px #000; 
 
}
<div class="header"> 
 
    <div class="tip"></div> 
 
</div>

+0

はい、それは動作しますが、私は、その場合には.headerブロック –

+1

@ZhekaVasil上のzインデックスを設定することが必要だ、あなたはおそらくZでこれを行うことはできません-indexのみ。 z-indexを持つ要素は新しい積み重ね順序を開始するので、子要素は常にその親の積み重ね順序で開始します。それが何をしようとしているのかを行うことは可能かもしれませんが、回避策を見つけるために完全なコードを確認する必要があります。 –

+0

説明をありがとう、今私はそれを得る –

1

-1 ... 1を変更しようとすると、Zインデックスを削除:最初のブロック(ヘッダ)5。コードのこの部分の外観を取る:

.header { 
    display: block; 
    width: 260px; 
    min-height: 222px; 
    background-color: #252525; 
    position: relative; 
    -webkit-box-shadow: 0 0 5px #000; 
    -moz-box-shadow: 0 0 5px #000; 
    box-shadow: 0 0 5px #000; 
    border-radius: 2px; 
} 

.tip { 
    display: inline-block; 
    width: 10px; 
    height: 10px; 
    right: 11px; 
    top: -5px; 
    transform: rotateZ(45deg); 
    position: absolute; 
    z-index: -1; 
    background-color: red; 
    -webkit-box-shadow: 0 0 5px #000; 
    -moz-box-shadow: 0 0 5px #000; 
    box-shadow: 0 0 5px #000; 

} 
+0

それは素晴らしい作品が、私はZのインデックスを設定する必要があります。 –

関連する問題