我正在尝试使用 HTML5 拖放position: fixed
从位于屏幕左侧固定位置的菜单中拖动元素。
以下代码在 Safari 和 Firefox 中运行良好,但当我在 Chrome 中尝试时,滚动后,从拖放 API 生成的“幽灵”图像不可见。如果你滚动得恰到好处,你可以拖动幻影图像的一部分,这向我表明它正在以某种奇怪的方式被剪辑。设置位置left
div to absolute
工作正常,但如果我可以帮助的话,我宁愿不使用 JS 来计算定位。
我确实为此创建了一个小提琴,但它在 Safari 和 Firefox 中运行时还有其他一些非常奇怪的问题(尽管它确实在 Chrome 中显示了该问题):https://jsfiddle.net/e4fvrr5y/ 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 的错误报告:
这似乎是相关的,因为它谈论的是相对位置是罪魁祸首。但这已经有近两年的历史了,并且据报道已修复,因此此时它很可能已合并到 Chrome 中。有其他人遇到过这个问题吗?如果有,您采取了哪些步骤来解决它?
这是 chrome 63.0.3223.0 中出现的一个 bug(参见这里issue https://bugs.chromium.org/p/chromium/issues/detail?id=798182).
根据问题跟踪器,这个问题应该会在几周后的下一个 chrome 稳定版本 (64.x) 中得到修复。
请注意,该修复已在 Chrome Canary 中提供。
更新 25-01-2018
Chrome 64 现已推出
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)