当我使用 javascript 更改跨度的内容时,此更改不会在 Webkit 浏览器中呈现。
这仅适用于包装器跨度定位相对包含内部跨度的情况,该内部跨度定位绝对并具有固定的宽度和高度。
这是最简单的错误示例(在 Chrome 或 Safari 等 webkit 浏览器中检查)
<!DOCTYPE HTML>
<html>
<head>
<title>Webkit render bug</title>
<style type="text/css">
.wrapper {
position: relative;
}
#absolute-block {
display: block;
position: absolute;
width: 152px;
height:42px;
background-color: #EEEE00;
color: #FF0000;
}
</style>
</head>
<body>
<h1>Webkit render bug</h1>
<button onclick="document.getElementById('absolute-block').innerHTML = 'Update test';">Update test</button>
<span class="wrapper">
Some content
<span id="absolute-block">Absolute-block</span>
</span>
</body>
</html>
单击按钮将替换 DOM 树中 span 的内容,但这不会由基于 webkit 的浏览器(如 Chrome 和 Safari)呈现。其他浏览器没有这个渲染错误。
有谁知道这是否会在不久的将来得到解决?还是解决此浏览器问题更好?