Я использую собственное свойство MS 'filter', чтобы попытаться создать не уродливый эквивалент css3 text-shadow и box-shadow;
У меня действительно все было хорошо, пока я не столкнулся с этой проблемой. Похоже, что когда я применяю фильтр к div внутри другого div, у которого также есть фильтр, эффекты фильтра в конечном итоге объединяются в дочернем объекте.
Я пробовал использовать filter: none; сделать сброс но без радости. Я также пробовал разные варианты синтаксиса, например «-ms-filter: 'progid: ... Glow ()'», «filter: progid: ... Glow ()», «filter: Glow ()» , так далее..
Тестирование в IE8
css
filter
internet-explorer
SpliFF
источник
источник
filter:;
filter: ;
. это, я думаю, заставит IE удалить свойство полностью, поскольку это недопустимое значение.filter:none;
чтобы избежать синтаксических ошибок.Ответы:
Там это логический атрибут включен , для которого вы можете установить ложный или истинный http://msdn.microsoft.com/en-us/library/ms532997%28v=vs.85%29.aspx
Пример:
-ms-filter: "progid:DXImageTransform.Microsoft.gradient(enabled=false)";
источник
Свойство -ms-filter является нестандартной записью CSS для конкретного браузера и, как таковое, требует, чтобы его параметр был заключен в кавычки. Итак, -ms-filter: "none" будет работать нормально.
источник
попробуй это:
фильтр: -;
источник
Я добился определенного успеха, позиционируя детей как абсолютные или относительные. Раньше это не работало, поэтому может снова сломаться, когда я усложню
Я думаю, что после того, как родительский элемент применил фильтр, все его дочерние элементы по сути становятся внутренними поверхностями directx. Вы все еще можете выделить текст, но он отстает. Я думаю, что выделение текста - это хитрость, которая делает каждую букву отдельной поверхностью. Это дерьмовый беспорядок, который во многом объясняет, почему браузер в целом и фильтры в частности так глючны.
источник
Если вы используете HTML5, вы можете пойти по пути использования
<!doctype html> <!--[if lt IE 7 ]> <html lang="en" class="ie6 oldie"> <![endif]--> <!--[if IE 7 ]> <html lang="en" class="ie7 oldie"> <![endif]--> <!--[if IE 8 ]> <html lang="en" class="ie8 oldie"> <![endif]--> <!--[if IE 9 ]> <html lang="en" class="ie9"> <![endif]--> <!--[if (gt IE 9)|!(IE)]><!--> <html lang="en" class="gtie9 modern"> <!--<![endif]-->
и в вашем CSS используйте что-то вроде:
.ie9 .element {filter: none; }
источник
Вы пробовали включить / отключить фильтр (ы)?
источник
Я нашел лучший способ - display: inline-block (применяя white-space: nowrap к контейнеру). Но вроде плохо работает с IE7 и ниже
источник