簡體   English   中英

在圖像上疊加 Div

[英]Overlay Div on image

所以我有一個相對定位的<div> ,它有一個絕對定位的子<img>

<div style="position: relative;">
  <img src="image.png" style="position: absolute;" />
  <span id="overlay_text">OVERLAY</span>
</div>

問題是它需要在頂部(在 Y 軸上更高,或者更接近屏幕頂部),但它僅以距底部的距離為單位進行測量。

使用z-indextop 這會將 div 放在底部,圖像,然后將跨度(覆蓋)放在頂部。 要從頂部邊緣設置定位,請使用top ,如果您需要它在 Y 軸上高於它的父軸,它可以與負數一起使用。 下面的示例將跨度移動到其父 div 頂部上方 10px。

<div style="position: relative; z-index: 1;">
  <img src="image.png" style="position: absolute; z-index: 2;" />
  <span id="overlay_text" style="position: relative; top: -10px; z-index: 3;">OVERLAY</span>
</div>

在某些情況下,這是一個更好的解決方案,因此父 div 獲取圖像的高度:

<div style="position: relative; z-index: 1;">
  <img src="image.png" />
  <span style="position: absolute; top: 0px; z-index: 3;">OVERLAY</span>
</div>

我知道這是一個老問題,但我注意到有幾個使用z-index示例,這對於此用例可能不是必需的,並且可能會因數十個堆疊元素而出現問題。

注意:元素從下到上堆疊。 在這種情況下:

<span>OVERLAY</span><img />聲明。 因此, span堆疊在img之上。

 <div style="position: relative;"> <img src="https://upload.wikimedia.org/wikipedia/commons/6/67/Delta-shield.png" style="position: absolute;" /> <span id="overlay_text" style="position: relative; top: 8rem; margin-left: 80px">OVERLAY</span> </div>

可以在此處找到有關堆疊的更多信息。

取決於您正在尋找的確切內容,但基於@Joe Conlin 的答案的一個簡單示例是添加負的最高值。

還有對@Joe Conlin 的輕微修正,我認為跨度應該具有絕對位置而不是相對位置。

http://jsfiddle.net/KevinFarrugia/fj83ytwp/1/

<div class="parent">
  <img src="http://www.gstatic.com/webp/gallery/1.webp" />
  <span class="overlay">OVERLAY</span>
</div>

CSS:

.parent{
    position: relative;
    margin: 2em;
} 

.parent img{
    position: absolute;
}

.parent .overlay{
    position: absolute;
    top: -1em;
    text-align: center;    
    width: 100%;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM