Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
IE7中的CSS筛选器属性赢得';关不上_Css_Internet Explorer 7_Filter - Fatal编程技术网

IE7中的CSS筛选器属性赢得';关不上

IE7中的CSS筛选器属性赢得';关不上,css,internet-explorer-7,filter,Css,Internet Explorer 7,Filter,我使用ms专有的css属性“filter”来控制元素的不透明度 #square2 { filter:"progid:DXImageTransform.Microsoft.Alpha(opacity=50)"; zoom:1; padding:10px; border:solid 5px #0cc; height:200px; width:400px; background-color:#cc0; color:#c0c; fo

我使用ms专有的css属性“filter”来控制元素的不透明度

#square2
{
    filter:"progid:DXImageTransform.Microsoft.Alpha(opacity=50)";
    zoom:1;
    padding:10px;
    border:solid 5px #0cc;
    height:200px;
    width:400px;
    background-color:#cc0;
    color:#c0c;
    font-size:2em;
}  
问题在IE7中突出显示(在IE7浏览器模式下运行IE8)。分析器不认为筛选器属性“已关闭”。因此,filter属性包含所有其他继承它的属性

我想在这一点上发布一个屏幕截图,但noobs是不允许的

我知道我可以简单地将filter属性移动到css选择器的末尾,但这只是问题的简化版本,而这不是一个现实的解决方案

当它后面跟着另一个css选择器时,问题就更加严重了。新的css选择器本身会被前一个选择器的filter属性所占用。新的选择器则完全无效,就好像它不在那里一样

我只是想让IE7认识到过滤器属性的终点在哪里

非常感谢你的帮助


谢谢

您在CSS声明中没有加引号。只是

filter:progid:DXImageTransform.Microsoft.Alpha(opacity=50);

来源:

通过使用alpha过滤器的简化形式,避免引号与无引号IE7/IE8语法问题:

filter: alpha(opacity=50);

Alpha过滤器只是为了简化这个问题(我实际上使用的是矩阵过滤器),这样修复就不适用了

引号/无引号的修复也不起作用,所以我想到的答案是从样式表中删除过滤器样式,并将其放置在母版页上的样式标记中。这使我可以使用filter属性来组合选择器,每个选择器在页面上都有自己的样式标记

<html>
<head>
<style type="text/css">
      #square2{padding:10px;filter:"progid:DXImageTransform.Microsoft.Alpha(opacity=50)";}
</style>
</head>
</html>

#square2{padding:10px;过滤器:“progid:DXImageTransform.Microsoft.Alpha(不透明度=50)”;}
这使得IE7解析器能够识别属性的末尾,但缺点是必须在多个地方保持样式


尼克

谢谢你的快速回复!我试过引用和不引用。筛选器仍将至少一个属性读入下一个选择器。。。