Css IE8:禁用cleartype?

Css IE8:禁用cleartype?,css,internet-explorer-8,cleartype,Css,Internet Explorer 8,Cleartype,对于IE7,可以添加 filter: none; 到主体css,通过css禁用字体上的cleartype。我不喜欢它给人的模糊感,而且它在不同浏览器之间也不太一致。IE;Firefox和IE6的表现有所不同 然而,IE8似乎忽略了css选项,即使使用以下命令将浏览器强制进入IE7兼容模式: <meta http-equiv="X-UA-Compatible" content="IE=7" /> TL;DR:如何通过CSS禁用IE8中的clear type字体 你不能。Cl

对于IE7,可以添加

filter: none;
到主体css,通过css禁用字体上的cleartype。我不喜欢它给人的模糊感,而且它在不同浏览器之间也不太一致。IE;Firefox和IE6的表现有所不同

然而,IE8似乎忽略了css选项,即使使用以下命令将浏览器强制进入IE7兼容模式:

<meta http-equiv="X-UA-Compatible" content="IE=7" />


TL;DR:如何通过CSS禁用IE8中的clear type字体


你不能。ClearType是浏览器上的用户设置。任何对某些元素禁用它的CSS很可能是一个bug,而不是一个特性(我注意到它对一些动态生成或动画元素被禁用),因此不应该依赖它

无论您在这方面的偏好是什么,都可能不是看到您站点的用户的偏好。那为什么要麻烦呢?不喜欢ClearType的人可能已经禁用了它

注释:它使用过滤器的原因是过滤器不是浏览器提供的,而是其他东西(DirectX可能,考虑到其中的“DX”)。我仍然认为是副作用,而不是特征。


注2:如预期,自IE 9起固定。这真的是一场你只能输掉的战斗,就像很多人以前告诉过你的那样,除非你不听。

我记得,当在元素上设置过滤器时,Internet Explorer 7+会禁用ClearType

#target {
    -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(opacity=99)";
    filter:progid:DXImageTransform.Microsoft.Alpha(opacity=99);
}

也要考虑,许多用户可能会发现禁用CytType会让人恼火。节约使用

没有CSS解决方案来禁用cleartype。在IE7中可以这样做的原因是浏览器如何在使用过滤器的元素中呈现文本的一个双产品。显然IE8处理得更好,这样你就不能再使用这种黑客了(至少在没有实际应用一些过滤器的情况下)

cleartype的使用是用户的选择,而不是你应该强加给访问者的东西。就我个人而言,我真的很喜欢cleartype,如果我访问了一个它被禁用的站点,我会认为这个站点看起来很糟糕


在不同的浏览器和不同的操作系统中,文本呈现方式不同,这一事实让你不得不接受。如果你想让它在每个人看来都一模一样,你必须让它成为一个图像。

Cleartype在基于JavaScript/AJAX的解决方案中有时看起来很愚蠢,但本主题可能回答了为什么一些基于jQuery的动画在IE中看起来会被破坏的问题。。所以答案是,当JavaScript使用不透明度(opactiy在1秒内从100变为0)产生淡出效果时,cleartype字体将从淡出的元素中删除,动画看起来非常糟糕。

Juliano,body{filter:none}是一个更好、更干净的解决方案。在某些情况下,使用不透明度会导致问题

回答所有的ClearType爱好者——我也喜欢ClearType。我认为这是液晶显示器的一大进步。问题是,当IE试图在某些特定元素上使用ClearType时,它看起来比禁用ClearType更糟糕。其中包括淡入视图的元素(使用javascript)以及导入的@font-face字体。如果你喜欢ClearType,那么当IE试图在这些情况下使用ClearType时,你会讨厌它所做的事情……你的文本看起来又粗又胖,很难看


在这些情况下,如果可能的话,应该删除ClearType以获得你们想要的平滑字体。

出于某种原因,定位元素(位于{position:relative}内的任何内容)——不透明度小于1时不是动画。

您可以在元素上使用MS CSS过滤器,并且仍然在元素内的字体上启用ClearType。只需添加一个子元素并将其css“position”设置为“relative”,ClearType就不会被禁用。复制以下内容并尝试

<style>
#parent{
     background-color:white;
     filter:progid:DXImageTransform.Microsoft.Shadow(color=#000000,direction=180,strength=2);
     position:relative;
     border:solid 1px black;
     padding:10px;
     width:500px;
}
#child{
     position:relative; /*THIS SOLVED THE CLEARTYPE DISABLING PROBLEM IN BOTH IE7 & IE8*/ :)
}
</style>

<div id="parent">
     <div id="child">This text should always be smooth</div>
</div>

#母公司{
背景色:白色;
过滤器:progid:DXImageTransform.Microsoft.Shadow(颜色=000000,方向=180,强度=2);
位置:相对位置;
边框:实心1px黑色;
填充:10px;
宽度:500px;
}
#孩子{
position:relative;/*这解决了IE7和IE8中的CLEARTYPE禁用问题*/:)
}
这篇文章应该总是流畅的

我觉得这里有很多人没有在听@丹尼尔·斯洛夫(Daniel Sloof)说,他一直在问如何做,而不是这是否是个好主意。IE是一个糟糕的主意,但事实是许多人仍然使用它的旧版本,而对于这些人,我会冒昧地猜测,90%的人甚至不知道Clear类型是什么——我肯定直到我开始调试网站时才知道。他们当然不知道他们的浏览器有多垃圾。如果你想设计在IE中像在webkit中一样流畅的功能页面,你必须时不时地接受这种奇怪的攻击,当然这并不漂亮,但这就是生活。大多数人会受到漂亮网站的影响,而不是漂亮代码的影响

@capnhairdo在谈到@font face时也大发雷霆——你们中有人在IE7和IE8中使用Clear Type测试过这些字体吗?如果你有过这样的经历,你会意识到很多东西都被渲染得很糟糕——就像你通常在CT禁用时看到的那样——在一开始选择一种好的字体时有点挫败了目标,而对于很多人来说,像Cufon和Sifr都不是可行的解决方案。对我们中的一些人来说,事情看起来平庸是可以的。对我来说不是,我的网站出售我的形象

当你认为苹果甚至强迫IE7在网站上进行IE8的仿真时,应该强调的是,大多数人并没有受到“推荐的实践”的轻微影响,相反,他们注意到了一个网站,它提供了一种垃圾的审美,几乎不可读。这对任何人都没有任何好处,这是CT开启时可能出现的问题!我尽可能地追求一致性,不能给IE用户在这种情况下应该和不应该有什么选择。微软通过制造试图偏离标准的浏览器而陷于困境,他们自己也发布了黑客和修复程序,所以我们必须使用它。如果这意味着利用bu