【问题标题】:Why does filter: alpha(opacity=100) break my printouts? (IE7 & IE8)为什么 filter: alpha(opacity=100) 会破坏我的打印输出? (IE7 & IE8)
【发布时间】:2012-05-16 22:16:29
【问题描述】:

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

标记看起来基本上是这样的:

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

但是,当我使用 IE8 或 IE7 打印此页面时,打印出来的结果很奇怪,表格中缺少几行等等。

经过一段时间的测试,我发现删除过滤器:alpha(opacity=100)(由一些花哨的 jquery-ui-script 放置在那里)可以解决问题。

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

【问题讨论】:

    标签: html css internet-explorer internet-explorer-8 internet-explorer-7


    【解决方案1】:

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

    无论如何,关于为什么你的元素不显示的问题,你可能需要阅读this

    【讨论】:

    • 不是我添加的。我实际上通过删除它来解决这个问题。我真的不明白这篇文章如何回答我关于为什么过滤器指令会破坏我的打印输出的问题?
    • 无意发出对抗的声音,抱歉。在 IE 中,hasLayout 是使元素正确呈现的属性。某些元素,包括
      s,默认情况下没有启用 hasLayout,从而导致错误行为。在您的情况下,看起来 filter 指令与
      没有布局的事实发生冲突,导致子级无法正确呈现。您可以通过使用缩放来强制元素获取布局:例如 1 hack。
    • 好吧..现在我明白你的意思了。您是说过滤器属性使元素在 IE7 和 8 的世界中“丢失”布局?自从我删除了它,一切都很好.. :)
    猜你喜欢
    相关资源
    最近更新 更多
    热门标签