在谷歌浏览器中,我发现了以下错误:
我有一个固定大小的 div,位置:绝对,并且有一个简单的变换:
-webkit-transform: translate3d(100px, 100px, 0px)
我将 div 的显示从“block”更改为“none”,然后再次更改为“block”,但 div 不再出现。我注意到删除 position: absolute 解决了这个问题,但这肯定是 Chrome 中的一个错误。
使用以下 html 进行测试(带有红色边框的黄色 div 应每 500 毫秒闪烁一次)
请参阅 jsbin 示例以获取演示(注意:仅可在全屏 jsbin 中重现 - 请不要移动鼠标 - http://jsbin.com/UkOJuxO/1 - 如果您想在可编辑的 jsbin 中查看它,该错误不可重现,因为该页面是在 iframe 中呈现的。但只需使用下面的 html 并使用 Chrome 在本地访问该页面,就可以看到该错误很容易重现)
html是下面的那个。如果您从本地 html 页面在 Chrome 中打开它,则该错误很容易重现。但是如果打开开发工具并将鼠标悬停在闪烁的 div 上,它会出现一次。
在所有其他浏览器中,一切正常,没有任何问题。
<body>
<div id="test">
</div>
<style>
#test {
height: 400px;
width: 400px;
border: 1px solid red;
background: yellow;
position: absolute;
transform: translate3d(100px, 100px, 0px);
-ms-transform: translate3d(100px, 100px, 0px);
-moz-transform: translate3d(100px, 100px, 0px);
-webkit-transform: translate3d(100px, 100px, 0px)
}
</style>
<script>
var d = document.getElementById('test')
var delay = 500
function blink(){
d.style.display = 'none'
setTimeout(function(){
d.style.display = 'block'
setTimeout(blink, delay)
}, delay)
}
setTimeout(blink, delay)
</script>
</body>