【问题标题】:IE Filter Antialiasing problemIE过滤器抗锯齿问题
【发布时间】:2011-07-17 04:32:16
【问题描述】:

所以我有一个包含一堆图像的页面。而且我有一个函数可以通过 javascript 使用 IE 的不透明度过滤器淡出这些图层。

现在当我淡入这些元素时。我必须使用背景图像或背景颜色设置特定元素(应用了不透明度过滤器)(以防止清晰类型字体的抗锯齿,阅读更多http://www.jonathancross.com/projects/Ugly_font_anti-aliasing_problem_in_Internet_Explorer_6_7_and_8.html)。

现在我的问题是:

  1. 对于一组元素,有没有比 case 结构更好的解决方案来为每个元素设置背景图像/背景颜色?
  2. 某些文本框无法正确显示,并且似乎与整个背景图像集合并(背景层由 1x1 像素的图像组成,在必要时会重复)

提前致谢!

【问题讨论】:

    标签: javascript jquery html dom


    【解决方案1】:

    我使用了一个技巧......如果文本背后的背景是这样的,你可以选择一个在合理程度内匹配它的纯色,你可以使用下面的一对 CSS 规则来做假-文本抗锯齿,仅在 IE 中:

    背景颜色:#CCCCCC; /选择与你的背景相匹配的颜色/ 过滤器:程序:DXImageTransform.Microsoft.Chroma(颜色='#CCCCCC'); /这里使用相同的颜色/

    【讨论】:

    • 嗯.. 使用 Chroma 嗯?我试一试。
    【解决方案2】:

    我通过在页面上的每个元素上附加一个 1.0 的不透明度过滤器来完全禁用 IE 中的抗锯齿来“解决”这个问题...

    好的,所以看起来很糟糕 - 但至少一切看起来都像(而且 IE6/7 还是很糟糕 ^_^)。

    【讨论】:

    • 每个元素?无论如何,我已经尝试了其他所有方法,我也试一试。 :D
    • 我最终只使用了案例结构。通过 tagNames +1 获取元素引用
    【解决方案3】:
    1. 您必须在每个元素上定义背景,据我所知,这是没有办法解决的。你可以用 css 来做到这一点,比如

      .mydiv p {背景:#fff}

    2. 使用 1x1 像素背景会导致重复出现问题。使用 2x2 像素不会。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-05
      • 1970-01-01
      • 1970-01-01
      • 2014-02-18
      • 1970-01-01
      • 2010-12-01
      相关资源
      最近更新 更多