単純なリンク先ページでは、テキストボックスとヘッダーイメージが重なり合うようにしたいと考えました。imgタグをオーバーラップすると背景/境界線が後ろに、テキストがimgの前にレンダリングされる
<header>
<img src="path/to/img.png" />
<h1>Awesome headline</h1>
</header>
すべての要素がdisplay:block
に設定されているとh1
が負のマージンで画像の内側にドラッグされた:それはシンプルにするために、私はちょうどのような構造を有しています。私はまた、いくつかの詰め物とbackground:white
の見出しを与えた。
問題:画像の上に見出しのテキストが表示されますが、背景色はその背景にあります。その後、他のすべての上に画像(IMGタグ)、最後にテキストのレンダリング、ブラウザはすべての背景やボーダーで始まる、レイヤー内のすべての兄弟のブロックをレンダリングすること、https://jsfiddle.net/cv12evLn/
私の推測です:あなたはここでは例を見ることができます。
そうですか?そして、なぜ実際には...私は、それは私には予想外の狂ったようだ。
私は問題を解決するために、見出しをラッパーに入れて、position:absolute
に設定しました。実際の例はこちらをご覧ください:https://jsfiddle.net/f5sd1u6o/
あなたがzインデックスを使用shoud ... Zインデックスを設定することである要素の
opacity
を変えず偶然にもプロパティは、要素のスタック順序を指定します。大きなスタックオーダーを持つエレメントは、常にスタックオーダーの低いエレメントの前にあります。 –私は同様の問題がありました:http://stackoverflow.com/questions/25164585/overlay-a-img-tag-with-a-div-using-negative-margin-top-on-the-sibling-div 私はしかし、特に説明はありません。 – gaurav5430
イメージとオブジェクトはコンテンツ自体を持たないため、要素は基本的にバイナリデータに置き換えられるため、「置き換えられた」要素とも呼ばれます。それがあなたがこの奇妙な行動をしている理由です。 –