2013-03-08 54 views
0

我想了解爲什麼以下示例不支持單擊Chrome 25.0或Firefox 18中的按鈕。它適用於IE 9/10。在IE,Chrome和Firefox中使用float時被屏蔽的點擊事件

我感覺好像我失去了一些非常基本的東西。 Z-指數?

<!DOCTYPE html> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
    <title></title> 
    <style> 
     html, body { 
      height: 100%; 
      margin: 0px; 
      overflow: hidden; 
      width: 100%; 
     } 

     .top { 
      height: 100%; 
      width: 100%; 
      overflow: hidden; 
      background: gold; 
      text-align: center; 
      vertical-align: middle; 
      z-index: 1; 
     } 
     .left { 
      float: left; 
      height: 100%; 
      position: absolute; 
      top: 0; 
      left: 0; 
      width: 80%; 
     } 

     .right { 
      float: right; 
      height: 100%; 
      position: absolute; 
      right: 0; 
      top: 0; 
     } 
    </style> 
</head> 
<body> 
    <div class="top"> 
     <button id="btn" onclick="alert('hello')">Click Me!</button> 
    </div> 
    <div class="left"> 
     left 
    </div> 
    <div class="right"> 
     right 
    </div> 
</body> 
</html> 

回答

4

的Z-index屬性只適用於定位的元素,所以添加類似position:relative;您#top返回股利。

jsFiddle example

另一種方法是使點擊通過它下面的元素應用pointer-events:none;您#left股利。

jsFiddle example

+0

感謝。任何想法爲什麼IE會有不同的行爲,或者答案顯而易見? – 2013-03-10 14:56:22

+0

我的下意識反應就是說IE是一個惡意軟件,從來不用它作爲衡量代碼工作效果的尺度。 – j08691 2013-03-10 16:59:37

相關問題