Internet Explorer 8 shows gradient instead of background image

I have a weird error. I'm tiling a semi-transparent 1x1 pixel yellow PNG image in a DIV that overlays some text. With normal browsers, everything looks like it should. There's some text and a yellow, semi-transparent overlay above it.

这是它在Chrome中的外观

In Internet Explorer 8 however, instead of tiling the 1x1 PNG image, a gradient (!) is displayed.

这是它在Internet Explorer 8中的外观

The CSS is rather simple:

.edit_section_overlay {
  position: absolute;
  z-index: 150;

  top: -6px;
  bottom: -6px;
  left: -6px;
  right: -6px;

  border: 1px solid #afad9d;
  background: url('../../images/content/edit/section/overlay/background-color.png') repeat;

  min-height: 34px;
  cursor: move;
}

I've never seen a bug like this before and Google doesn't help me…

Here's a demo in jsFiddle, http://jsfiddle.net/jUVfS/


Your .png image needs to have larger dimensions, at minimum 1x2 instead of 1x1 .

See: http://nemesisdesign.net/blog/coding/ie8-1x1px-semi-transparent-background-bug/

Internet Explorer 8 doesn't perform the repeat of a 1x1 pixel semi-transparent background image correctly when any other element on the page is using the "-ms-filter" drective for the alpha transparency.

链接地址: http://www.djcxy.com/p/4812.html

上一篇: 颜色,但不是文字

下一篇: Internet Explorer 8显示渐变而不是背景图像