Html 为什么filter:alpha(不透明度=100)会破坏我的打印输出?(IE7和IE8)

Html 为什么filter:alpha(不透明度=100)会破坏我的打印输出?(IE7和IE8),html,css,internet-explorer,internet-explorer-8,internet-explorer-7,Html,Css,Internet Explorer,Internet Explorer 8,Internet Explorer 7,我有一个以表格格式列出数据的网页 标记基本上如下所示: <div style="filter: alpha(opacity=100)"> ...Lots of other markup <table> ..data from backend </table> </div> …还有很多其他的标记 ..来自后端的数据 但是,当我使用IE8或IE7打印此页面时,打印结果非常奇怪,表格中有几行丢失等 经过一段时间的测试,我发现删除filter

我有一个以表格格式列出数据的网页

标记基本上如下所示:

<div style="filter: alpha(opacity=100)">
...Lots of other markup
<table>
    ..data from backend
</table>
</div>

…还有很多其他的标记
..来自后端的数据
但是,当我使用IE8或IE7打印此页面时,打印结果非常奇怪,表格中有几行丢失等

经过一段时间的测试,我发现删除filter:alpha(不透明度=100)(由一些奇特的jqueryui脚本放置在那里)可以解决这个问题


那么为什么filter:alpha(不透明度=100)会破坏我的打印输出?

首先为什么要使用这个指令?如果希望块元素可见,请将其设置为
display:block


无论如何,关于为什么元素没有显示的问题,您可能需要阅读。

首先为什么要使用此指令?如果希望块元素可见,请将其设置为
display:block


不管怎样,关于为什么元素没有显示的问题,您可能需要阅读。

不是我添加的。实际上,我通过删除它解决了这个问题。我真的不明白这篇文章如何回答我的问题,为什么filter指令会破坏我的打印输出?我不想听起来像是对抗,对不起。在IE中,hasLayout是使元素正确渲染的属性。默认情况下,某些元素(包括s)没有启用hasLayout,从而导致错误行为。在您的例子中,filter指令似乎与没有布局的事实发生冲突,导致子对象无法正确渲染。例如,您可以通过使用zoom:1 hack强制元素获得布局。好吧……现在我明白您的意思了。你是说过滤器属性使得元素在IE7和IE8的世界中“丢失”布局?自从我把它拆了以后,一切都很顺利……)不是我加的。实际上,我通过删除它解决了这个问题。我真的不明白这篇文章如何回答我的问题,为什么filter指令会破坏我的打印输出?我不想听起来像是对抗,对不起。在IE中,hasLayout是使元素正确渲染的属性。默认情况下,某些元素(包括s)没有启用hasLayout,从而导致错误行为。在您的例子中,filter指令似乎与没有布局的事实发生冲突,导致子对象无法正确渲染。例如,您可以通过使用zoom:1 hack强制元素获得布局。好吧……现在我明白您的意思了。你是说过滤器属性使得元素在IE7和IE8的世界中“丢失”布局?自从我把它拆了以后,一切都很顺利……)