Я сделал веб-страницу, состоящую из двух перекрывающихся изображений. Я применил фильтр непрозрачности к верхнему изображению, чтобы оба изображения были читаемы. Непрозрачность экрана правильная для большинства браузеров, включая IE и Firefox. Однако, когда я печатаю страницу на реальном принтере или на принтере PDF из IE версии 7 или 8, печатается только верхнее изображение. Верхнее изображение правильно полупрозрачно при печати из IE 9 и Firefox.

Ниже приведен код моей веб-страницы.

<html>
<body>
<DIV style="POSITION: absolute; WIDTH: 366px; HEIGHT: 439px; TOP: 100px; LEFT: 100px; Z-INDEX: 1;">
    <IMG style="POSITION: relative; WIDTH: 366px; HEIGHT: 439px;" src="below_picture.png">
</DIV>
<DIV style="POSITION: absolute; WIDTH: 366px; HEIGHT: 439px; TOP: 100px; LEFT: 100px; Z-INDEX: 390;">
    <IMG style="POSITION: relative; WIDTH: 366px; HEIGHT: 439px; FILTER: alpha(opacity=75);" src="above_picture.png">
</DIV>
</body>
</html>

Какой стиль CSS мне нужно установить для непрозрачности при печати из Internet Explorer 8?

6
Quan 21 Дек 2011 в 10:46

4 ответа

Попробуйте это, это даст эффект размытия во всех основных браузерах, включая

.CLASS_NAME {
  /* IE 8 */
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";

  /* IE 5-7 */
  filter: alpha(opacity=50);

  /* Netscape */
  -moz-opacity: 0.5;

  /* Safari 1.x */
  -khtml-opacity: 0.5;

  /* other intelligent browsers */
  opacity: 0.5;
}
6
Rajendra Khabiya 18 Июн 2013 в 18:59

Я должен сказать, что это встроенная проблема IE, поскольку эти версии не поддерживают непрозрачность напрямую,

Перейдите по ссылке

Теперь, как вы можете видеть, непрозрачность напрямую не поддерживается IE7-8, вы можете использовать фильтры с условным css.

Код ссылка

.opaque2 {  // for IE5-7

    filter: alpha(opacity=50);
}

Или для IE8

-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";

Порядок содержимого должен быть

.opaque {
    -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"; // first!
    filter: alpha(opacity=50);                  // second!
}

За исключением того, что вы можете использовать css3pie с одним htc-файлом, который поможет вам добавить правила css3 почти во все неподдерживающие браузеры.

Я надеюсь, это поможет..

4
MarmiK 17 Июн 2013 в 15:07
Это относится и к полиграфии?
 – 
Wilfred Hughes
19 Июн 2013 в 17:56
Если в браузере разрешена печать фона и изображений, то я думаю, что не должно быть никаких проблем, а также я думаю, что нам нужно протестировать каждый IE ... (поскольку у каждого IE разные мысли) :)
 – 
MarmiK
20 Июн 2013 в 09:02

IE8 использует свойство -ms-filter.

Более старому IE нужен filter: alpha(opacity=XX)

img.namedClass {
    position: relative;
    width: 366px;
    height: 439px;

    -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=75)";
    filter: alpha(opacity=75);
    opacity: 0.75;
}

Это, в каскаде, должно решить проблему для всех текущих браузеров

1
Kadmillos 19 Июн 2013 в 17:15

Я думаю, что ошибка заключается в позиционировании. Вы используете абсолютную позицию в родительском div, в то время как ваш ребенок имеет позицию: относительную. Это не будет работать в IE. ..

0
nexus_07 13 Июн 2013 в 06:44