ClearType使用CSS过滤器中断-如何使用JavaScript删除属性?
我试图使用JavaScript从页面上的文本块中删除CSS属性“filter” 原因是使用过滤器会禁用IE8中的ClearType 我尝试过使用ClearType使用CSS过滤器中断-如何使用JavaScript删除属性?,javascript,internet-explorer-8,filter,cleartype,Javascript,Internet Explorer 8,Filter,Cleartype,我试图使用JavaScript从页面上的文本块中删除CSS属性“filter” 原因是使用过滤器会禁用IE8中的ClearType 我尝试过使用document.getElementById(“someDiv”).style.removeAttribute(“过滤器”)和someDiv.style.removeAttribute('filter')不会抛出错误,但没有效果 如有任何建议,将不胜感激 感谢阅读, 路易 下面是一个示例页面: 过滤掉。 打开过滤器 例子 嗨,我是来发短信的。 Cle
document.getElementById(“someDiv”).style.removeAttribute(“过滤器”)
和someDiv.style.removeAttribute('filter')代码>不会抛出错误,但没有效果
如有任何建议,将不胜感激
感谢阅读,
路易
下面是一个示例页面:
过滤掉。
打开过滤器
例子
嗨,我是来发短信的。
ClearType对我怎么样?
document.getElementById(“SomeText”).style.removeAttribute(“过滤器”);
SomeText.style.removeAttribute('filter');
可能无法从
中删除筛选器,因为它没有筛选器属性
是带有属性的标记;在一些混乱之后
document.body.style.filter=''代码>
删除过滤器(但显然是从整个正文中删除)。你不应该使用过滤器来达到你想要的效果-它是旧的IE代码,在其他浏览器中不起作用,是的,过滤器只在正文中,因此你无法在文本上保留ClearType
如果您可以使用HTML5 doctype,那么请尝试以下CSS3技巧-在IE8上使用HTMLdoctype进行测试垂直渐变有效
或者,作为最后一种手段,您可以创建一个梯度(任意宽度)的背景图像,然后使用repeat-x和no repeat-y-但这将有一个固定的高度作为限制感谢您关注这个问题。我以为filter属性会被div继承-不,等等,这没有意义。。。我似乎无法使用element.style.filter=''获得所需的结果;
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Example</title>
</head>
<body style="filter:progid:DXImageTransform.Microsoft.Gradient(endColorstr='#ffffff', startColorstr='#eeeeee', gradientType='0');">
<div id="SomeText">
Hi, I'm some text.<br />
How's ClearType handling me?
</div>
<script type="text/javascript">
document.getElementById("SomeText").style.removeAttribute('filter');
SomeText.style.removeAttribute('filter');
</script>
</body>
</html>