我是一名Web開發人員noob,希望有更多經驗的人可以提供幫助。懸停,Z指數和分層......一個令人費解的混亂?
<div id="domain-background-container">
<div class="domain-hotspots">
<div id="hotspot">
<p class="bubble">I'm red on hover</p>
</div>
</div>
</div>
<div id="page-nav" >
<p>I'm red on hover</p>
</div>
html, body { /* <--- (1) */
height: 100%; }
#domain-background-container {
position: fixed;
z-index: -10; } /* <--- (2) */
.domain-hotspots {
width: 100vw;
height: 100vh;
position: fixed;
background: blue; }
#hotspot {
width: 2em;
height: 2em;
background: green; }
#hotspot:hover .bubble {
background: red; }
#page-nav {
width: 100%;
text-align: center;
background: yellow; }
#page-nav:hover p {
color: red; }
這裏的jsfiddle。
問題是,當鼠標光標放在它上面時,#hotspot(即綠色正方形)不會進入懸停狀態。
我期待有四件事情解釋:
- 有人能提供或指向我的機械師防止#hotspot進入懸停狀態的詳細說明?
- 刪除CSS規則集(1)[身高:100%的html和body]允許#hotspot進入懸停狀態。在我的項目中這不是一個可行的解決方案,但是爲了好奇心,爲什麼這會產生影響。
- 刪除CSS規則集(2)的z-index也允許#hotspot進入懸停狀態。不幸的是,這也將z排序搞亂,因爲.domain-hotspots(藍色)然後覆蓋#page-nav(黃色),這是不可接受的。理論上我可以定位並提高#page-nav的z值。雖然這將適用於這個簡單的jsfiddle,但我不願意爲一個更大的項目做到這一點,我必須將這些應用到每個跟隨.domain-hotspots的元素(這甚至不是必需的,因爲我的理解元素未修改的Z索引,後面的.domain-hotspots在html文件中應該被渲染在視口中的.domain-hotspots之上): -/
- 我不能使用剛纔提到的兩個「解決方案」解決方案仍然是
我真的很感謝任何知識的人可以分享這個!我很難過。我甚至不知道我應該谷歌來研究這個問題,因爲我不知道是什麼導致了這種行爲。
很好的解釋:)得到了我的投票(即使我有我的第一個答案在這裏;)) – Dekel
Awsome回答!管理回答我所有的問題,包括我不知道我想回答的問題。非常感謝! – assailant