css中pointer-events属性的详细介绍

这篇文章主要介绍“css中pointer-events属性的详细介绍”,在日常操作中,相信很多人在css中pointer-events属性的详细介绍问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”css中pointer-events属性的详细介绍”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

绝对定位元素盖住链接或添加某事件handle的元素后,那么该链接的默认行为(页面跳转)或元素事件将不会被触发。

现在Firefox3.6+/Safari4+/Chrome支持一个称为pointer-events的css属性。使用该属性可以决定是否能穿透绝对定位元素去触发下面元素的某些行为。如下:

代码如下:


<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>CSS:pointer-events</title>
<style type="text/css">
   .overlay1 {
       width:80px;
       height:20px;
       background:gold;
       position:absolute;
       top:5px;
       left:5px;
       opacity:0.5;
   }
   .overlay2 {
       width:80px;
       height:20px;
       background:gold;
       position:absolute;
       top:40px;
       left:5px;
       opacity:0.5;
   }
   .pointer{pointer-events:none;}
</style>
<script type="text/javascript">
window.onload = function(){
   document.getElementById('chx').onclick = function(){         document.getElementById('a').className
           = "overlay1 " + ((this.checked)? "pointer" : "");
       document.getElementById('b').className
           = "overlay2 " + ((this.checked)? "pointer" : "");
   }
}
</script>
</head>
<body>
   <div id="a" class="overlay1"></div>
   <div id="b" class="overlay2"></div>
   <a href="http://mail.sina.com.cn">SinaMail</a>
   <br/><br/>
   <span onclick="alert(3);">SinaMail</span>
   <p>
       <input id="chx" type="checkbox">
       <label for="chx">开启穿透点击</label>
   </p>
</body>
</html>

默认情况下,链接和span元素被绝对定位的两个div都遮住了。分别点击后无反应,即无法触发链接a的默认行为,无法触发span元素的click事件。但开启穿透点击后支持pointer-events的浏览器Firefox/Safari/Chrome中再次点击链接和span则可以触发相应的行为。

到此,关于“css中pointer-events属性的详细介绍”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!