javascript-使用固定位置/固定位置时,Chrome会切断幻影图像
作者:互联网
我正在尝试使用HTML5拖放和位置:固定为从菜单中拖动元素,该菜单保持在屏幕左侧的固定位置.
以下代码在Safari和Firefox中可以正常工作,但是当我在Chrome中尝试使用时,滚动后,从拖放API生成的“鬼影”图片不可见.如果向右滚动,则可以拖动一部分重影,这对我来说表明它已以某种奇怪的方式被裁剪.将左div的位置设置为绝对可以正常工作,但是如果可以的话,我宁愿不使用JS来计算位置.
我确实为此创建了一个小提琴,但是它还有其他一些在Safari和Firefox中运行的非常奇怪的问题(尽管它确实在Chrome中显示了问题):
https://jsfiddle.net/e4fvrr5y/
这是我要测试的完整代码:
<!doctype html>
<head>
<style>
body {
display: flex;
}
.left {
width: 200px;
height: 200px;
background-color: #0f0;
position: fixed;
}
.right {
margin-left: 200px;
width: 200px;
height: 3000px;
background: linear-gradient(white, black);
}
.draggable {
background-color: #00f;
padding: 20px;
color: #fff;
cursor: pointer;
}
</style>
</head>
<body>
<div class="left">
<div class="draggable" draggable="true" ondragstart="drag(event)">Draggable element</div>
</div>
<div class="right">
</div>
<script>
function drag(ev) {
ev.dataTransfer.setData("text", "foo");
}
</script>
</body>
</html>
在线搜索,我发现了以下Chromium错误报告:Issue 605119
似乎有关,因为它是在谈论相对位置的罪魁祸首.但这已经有将近两年的历史了,并且据报导已修复,因此,到这一点很可能已经合并到Chrome中.还有其他人遇到过此问题吗?如果是,您采取了哪些步骤来解决此问题?
解决方法:
这是一个出现在chrome 63.0.3223.0中的错误(请参阅此issue).
根据问题跟踪器的说法,此问题应在几周后的下一个chrome稳定版本(64.x)中修复.
请注意,该修复程序已经在Chrome Canary中可用.
更新25-01-2018
Chrome 64现在可用
标签:html5,google-chrome,drag-and-drop,css,javascript 来源: https://codeday.me/bug/20191110/2014013.html