Я взял подсказку из проверенного ответа здесь и связанного вопроса, но не хотел использовать пустой DIV (особенно потому, что это не нужно другим браузерам).
Вместо этого я настроилСпецифичный для IE8 CSS, который использует псевдоэлемент :before
контейнера DIV.
Однако псевдоэлементы - это стилизованное содержимое , а не объекты DOM, поэтому свойство -ms-filter
бесполезно.Чтобы пойти на компромисс, я использую PNG, соответствующий исходному фильтру, который я хотел (на самом деле data:
URL, но любой из них работает), так как background-image
.
я заставляю псевдоэлемент иметь полный размер контейнера, absolute-position it и ta-da , дочерний элемент видим за пределами родительского элемента, а родительский элемент по-прежнему получает прозрачный фон.
.container.ie8 {
background-color: transparent;
position: relative;
}
.container.ie8:before {
background-image: url("data:image/png;base64,...");
display: block;
height: 100%;
left: 0;
position: absolute;
top: 0;
width: 100%;
}