使用canvas时如何不影响点击页面的元素又不影响效果的展现

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用canvas时如何不影响点击页面的元素又不影响效果的展现相关的知识,希望对你有一定的参考价值。

参考技术A 大家首先想到的应该是定位降低层级,实际测试后又发现不行,如果降低层级后 canvas动画的展示被遮挡 效果不堪

这时候,pointer-events:none 就要闪亮登场了

由此看来,还是不错的

简单说下应用场景,元素应用了该 CSS 属性,链接啊,点击啊什么什么都会失效,实体虚化 玄幻啊
之前用js判断click off什么什么 可以省略了 一个属性搞定

pointer-events: none 大法好!

pointer-events:属性还有很多,很多妙用,想了解的去css3手册了解一下

隐藏属性对元素的click事件的影响

在CSS中,让元素隐藏(指屏幕范围内肉眼不可见)的方法很多,有的占据空间,有的不占据空间;有的可以响应点击,有的不能响应点击。一个一个看。 
  1. { display: none; /* 不占据空间,无法点击 */ }
  2. /********************************************************************************/
  3. { visibility: hidden; /* 占据空间,无法点击 */ }
  4. /********************************************************************************/
  5. { position: absolute; top: -999em; /* 不占据空间,无法点击 */ }
  6. /********************************************************************************/
  7. { position: relative; top: -999em; /* 占据空间,无法点击 */ }
  8. /********************************************************************************/
  9. { position: absolute; visibility: hidden; /* 不占据空间,无法点击 */ }
  10. /********************************************************************************/
  11. { height: 0; overflow: hidden; /* 不占据空间,无法点击 */ }
  12. /********************************************************************************/
  13. { opacity: 0; filter:Alpha(opacity=0); /* 占据空间,可以点击 */ }
  14. /********************************************************************************/
  15. { position: absolute; opacity: 0; filter:Alpha(opacity=0); /* 不占据空间,可以点击 */ }
  16. /********************************************************************************/
  17. {
  18. zoom: 0.001;
  19. -moz-transform: scale(0);
  20. -webkit-transform: scale(0);
  21. -o-transform: scale(0);
  22. transform: scale(0);
  23. /* IE6/IE7/IE9不占据空间,IE8/FireFox/Chrome/Opera占据空间。都无法点击 */
  24. }
  25. /********************************************************************************/
  26. {
  27. position: absolute;
  28. zoom: 0.001;
  29. -moz-transform: scale(0);
  30. -webkit-transform: scale(0);
  31. -o-transform: scale(0);
  32. transform: scale(0);
  33. /* 不占据空间,无法点击 */
  34. }





以上是关于使用canvas时如何不影响点击页面的元素又不影响效果的展现的主要内容,如果未能解决你的问题,请参考以下文章

阻止 Javascript 事件影响子元素

css里面的hover能不能影响其他id。不使用js时

子元素不继承父元素中的点击事件

在不影响其他元素的情况下动态更改 div 之间的页面内容

移动端虚拟键盘影响页面布局的问题

Elementor:浮动到内部内容右侧的元素会影响内容链接 - 如何修复?