为什么会这样?任何解决方法?
jQuery的:
$(function() {
$('p.quote').fadeIn(3000);
});
HTML:
<p>someone said:</p> <p class="quote">“lorem ipsum”</p> <p>someone else said:</p> <p class="quote" style="display: none;">“magna carta”</p>
在FF(3x,4x),Chrome,IE(6,7,8)中,我有一个呈现正常的页面.
在IE9上测试时,文本更宽.调查问题看来,文本实际上呈现的字母比其他地方更宽松.
将字母间距更改为-0.6px时,文本呈现正常,与其他浏览器类似.此外,当渲染模式更改为"兼容性视图"时,页面看起来很好.
你知道是什么原因造成了渲染模式的变化吗?
我使用条件评论"解决"了这个问题,但我对它并不是很满意
<!--[if IE 9]>
<style>
* {letter-spacing: -0.6px;}
</style>
<![endif]-->
Run Code Online (Sandbox Code Playgroud)
是否存在其他方法来解决问题?
编辑
我在不同的机器和不同的浏览器上制作了一些截图,结果可以在这里看到
如您所见,在具有不同浏览器的不同计算机上,结果是相同的.唯一呈现不同的是标准模式下的IE9.源页面是
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<title></title>
<style type="text/css">
body {margin:0;padding:0;}
</style>
</head>
<body>
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nunc semper.
</body>
</html>
Run Code Online (Sandbox Code Playgroud) 它是有据可查的(如这里),其IE9将忽略字体平滑(又名抗锯齿)的OS范围的设置.即使在Windows中禁用了字体平滑和ClearType,IE仍会显示抗锯齿字体,有些用户难以阅读,特别是在小字体时.
如何在IE9中禁用所有字体抗锯齿(ClearType或其他)?
更多细节:
我们公司构建了一个使用大量小字体的Web应用程序.随着IE9的发布,我们的一些用户抱怨IE9的默认抗锯齿使我们的小字体模糊或模糊.因此,我们需要帮助已安装IE9并希望关闭抗锯齿功能的用户.
另外,就个人而言,我无法阅读小型的抗锯齿字体,所以我想要一个自己使用的解决方案,即使对于我无法控制的网站也是如此.
在IE8中,我可以取消选中"始终使用ClearType for HTML",然后在操作系统中禁用ClearType,IE8将显示所有字体别名.但在IE9中,缺少此选项.
经过一些关于这个问题的研究,这就是我所学到的:核心问题是IE依靠DirectWrite进行文本渲染,并且不支持任何更新的渲染选项,这些选项可以在没有抗锯齿的情况下绘制文本并尊重用户的OS-广泛的默认选择.
更糟糕的是,如果你在操作系统中禁用ClearType,在某些情况下,IE将回退到DirectWrite的默认非cleartype抗锯齿,它甚至比ClearType更模糊.
我很好奇,作为IE9的开发人员,我应该注意哪些具体的事情,毫无疑问,微软......"忘记"为web-socket等事物添加兼容性.但就CSS而言,字体渲染和JavaScript我需要采取哪些预防措施?