Я сделал веб-страницу, состоящую из двух перекрывающихся изображений. Я применил фильтр непрозрачности к верхнему изображению, чтобы оба изображения были читаемы. Непрозрачность экрана правильная для большинства браузеров, включая 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?
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;
}
Я должен сказать, что это встроенная проблема 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 почти во все неподдерживающие браузеры.
Я надеюсь, это поможет..
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;
}
Это, в каскаде, должно решить проблему для всех текущих браузеров
Я думаю, что ошибка заключается в позиционировании. Вы используете абсолютную позицию в родительском div, в то время как ваш ребенок имеет позицию: относительную. Это не будет работать в IE. ..
Похожие вопросы
Новые вопросы
css
CSS (каскадные таблицы стилей) - это язык таблиц стилей представления, используемый для описания внешнего вида и форматирования документов HTML (язык разметки гипертекста), XML (расширяемый язык разметки) и элементов SVG, включая (но не ограничиваясь) цвета, макет, шрифты, и анимации. Также описывается, как элементы должны отображаться на экране, на бумаге, в речи или на других носителях.