私はあなたのHTML要素を試しました:
<div id="over" class="case{0,1,2}">
<div class="generated">Hello World!</div>
</div>
次のCSSを使用して3つのケースを調べました。デモンストレーションのために、生成されたコンテンツのスタイルを少し変更しました。
.generated {
background-color: gray;
border: 1px dotted black;
color: white;
width: 20rem;
position: relative;
}
.generated::after {
content:"\00A0";
display: block;
width: 0;
height: 0;
border-width: 20px;
border-color: khaki blue khaki red;
border-style: solid;
position: absolute;
left: 0;
top: 0;
}
.case0 .generated {
}
.case0 .generated::after {
}
.case1 .generated {
}
.case1 .generated::after {
z-index: -1;
}
.case2 .generated {
z-index: 200
}
.case2 .generated::after {
z-index: -1;
}
デフォルトでは、 を設定せずz-index
、生成されたコンテンツをテキスト ノート コンテンツの上にスライドさせます。絶対配置を使用してコンテンツを重ねるだけです。
ケース 1 ではz-index: -1
、生成されたコンテンツに適用し、要素の下に移動します。
ケース 2 では、生成されたコンテンツにz-index: 200
(または 1 以上の任意の数を)適用.generated
しますz-index: -1
。この場合、生成されたコンテンツはノード テキストと要素の間に表示されます。
ケース 1 では、生成されたコンテンツ 1 の z インデックスを z 軸に沿って単純にふるいにかけます。ノード テキストとそのコンテナーは同じ z 軸レベルにあるため、生成されたコンテンツはコンテナーとノード テキストの下に表示されます。
ケース 2 では、ノード テキストをそのコンテナーから上にシフトし、次に生成されたコンテンツをノード テキストの 1 つ下にシフトしているため、生成されたコンテンツはコンテナーの上にあり、ノード テキストの下にあります。
これは便利な CSS テクニックかもしれません。
フィドル参照: http://jsfiddle.net/audetwebdesign/9sR8B/