我正在制作一个富 Web 客户端,您可以在其中为演示文稿创建幻灯片。其中一项功能是能够缩放页面以适应屏幕。我使用 CSS 转换来做到这一点,并且在小型笔记本电脑屏幕上它会缩小。但是,在这些情况下,我的 contentEditable 文本框开始失去闪烁的插入符号(它从 0.7 左右开始,并且越缩小越严重)。
看看这个简化的案例:
<!DOCTYPE html>
<html><head>
<style type="text/css">
div {
border: 1px solid gray;
-webkit-transform: scale(0.7);
-moz-transform: scale(0.7);
-ms-transform: scale(0.7);
-o-transform: scale(0.7);
transform: scale(0.7);
}
</style>
</head><body>
<div contenteditable="true">The quick brown fox jumps over the lazy dog</div>
</body></html>
或在 jsfiddle:http: //jsfiddle.net/5wJGg/3/
单击最左边的字符,然后使用键盘的右箭头键浏览所有字符 - 等待插入符号每次闪烁。
- 谷歌浏览器:插入符号总是出现。
- Firefox 20:插入符号不会出现在某些字符之间。
- IE 9:插入符号不会出现在某些字符之间。
- IE 10:插入符号总是出现。
- Safari(在 Mac 上):插入符号总是出现
我注意到有时 Google Chrome/Safari 会以 2px 宽度绘制灰色的插入符号。
这是 Firefox 和 IE 中的亚像素渲染错误吗?有解决方法吗?我不能用 CSS 设置插入符号的样式,所以恐怕我可能是 SOL。
[编辑] 刚刚在 Windows 8 上的 IE 10 上进行了测试。插入符号总是出现。当出现亚像素问题时,插入符号显示得更粗且呈灰色,因此它看起来确实像 IE 9 中已修复的错误,以及 Firefox 中的突出错误。