javascript - 此聚光灯效果在 Safari 7.1+ 中不起作用

标签 javascript jquery html css safari

为什么这个 CodePen 在 Safari 中不起作用?在所有 Spotlight 教程中,我选择了这个教程,因为它满足了我的要求。它适用于 Chrome/Firefox,但在 Safari 7.1+ 中根本不起作用(甚至部分不起作用)。有人可以解释一下吗?

http://codepen.io/cchambers/pen/Dyldj

$(document).on("mousemove", function(e){  
  $(".spotlight").css("left",e.clientX-100).css("top", e.clientY-100);
});
body{
    margin:0;
    background:url(http://i.imgur.com/KHucaTQ.jpg);
    background-size:100% auto;
    overflow:hidden;
} 
.spotlight{
    cursor:none;
    position:absolute;
    top:100px; 
    left:200px;
    height:200px;
    width:200px;
    border-radius:50%;
    background:transparent;
    box-shadow:0 0 0 2000px rgba(0,0,0,.85);
}

.ha{
    -webkit-transform: translateZ(0);
    -moz-transform: translateZ(0);
    -o-transform: translateZ(0);
    transform: translateZ(0);
}
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<div class="spotlight ha"></div>

最佳答案

将你的CSS改成这样:

.spotlight{
  cursor:none;
  position:absolute;
  top:100px; left:200px;
  height:200px;
  width:200px;
  border-radius:50%;
  background:transparent;
  box-shadow:0 0 0 2000px rgba(0,0,0,.85);
  -webkit-box-shadow:0 0 0 2000px rgba(0,0,0,.85);
}

添加的 -webkit- 应该可以解决问题。

或者,更新您的 Safari - 您运行的可能是过时的版本。


阅读 box-shadow 及其浏览器兼容性:box-shadow - MDN Docs

关于javascript - 此聚光灯效果在 Safari 7.1+ 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31459534/

相关文章:

javascript - node.js 找不到模块 './lib/compat'

javascript - 如何将这些列表元素与某些按钮对齐?

javascript - 如何使用javascript获取数组的键?

jquery - 在 twitter bootstrap 下拉列表中添加复选框

html - 表内的加载器 <td>

xml - HTML 文档中是否需要 XML 声明?

javascript - es6 从静态函数访问类构造函数

javascript - 当服务器变量更改值时,如何触发 jquery 的更改?

javascript - 在我的 Django TextField 中使链接可点击

javascript - Bootstrap 列不适用于数据切换