首頁 >web前端 >css教學 >為什麼使用變換或平移時我的 Z 索引不起作用?

為什麼使用變換或平移時我的 Z 索引不起作用?

DDD
DDD原創
2024-11-02 13:23:301083瀏覽

Why Is My Z-Index Not Working When Using Transform or Translate?

Z-Index 不起作用:了解問題

z-index 屬性是一種廣泛使用的CSS 屬性,用於控制元素在網頁中是分層的。然而,有時它似乎會出現故障,導致元素頑固地以錯誤的順序堆疊。在處理涉及多個圖層的複雜佈局時,這個問題可能特別令人煩惱。

了解 Z-Index 問題:

z-index 無效的一個具體示例是當嘗試將元素放置在圓後面時。儘管為元素分配了較低的 z-index 值,但它在圓的頂部仍然持續可見。這背後的原因在於transform和translate屬性與z-index互動的方式。

Transform和Translate的影響:

當使用transform或translate屬性來移動元素時,它們會建立一個單獨的堆疊上下文。這個單獨的上下文將元素放置在文件的正常流程之外,並使 z-index 屬性無效。因此,單獨使用 z-index 無法正確定位此單獨上下文中的元素。

解決方案:解決 Z-Index 困境:

解決此問題,您可以用 top 和 left 屬性替換變換或平移屬性。透過設定頂部和左側的特定值,您可以在常規堆疊上下文中手動定位元素,並使用 z-index 重新控制其位置。

修改範例:

以下修改後的程式碼片段示範如何將變換替換為top 和left 讓您能夠正確地將元素定位在圓圈後面:

<code class="css">#background #mainplanet:before, #background #mainplanet:after {
  ...
  transform: none; /* Remove the transform property */
  top: 10px; /* Set the top position */
  left: -80px; /* Set the left position */
  ...
}</code>

透過進行這些更改,您現在可以使用z-index 來有效控制元素的分層並實現所需的視覺層次結構。

以上是為什麼使用變換或平移時我的 Z 索引不起作用?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn