Размытые фоновые изображения после обновления до IE11

Итак, сегодня утром я получил автоматическое обновление до IE 11, после проверки моих глаз оказалось, что некоторые из моих фоновых изображений размыты.

Мне пришлось убедиться, что проблема не в моем изображении, поэтому после запуска Chrome они снова были красивыми и четкими ... Я совершенно сбит с толку.

Теперь я удалил обновление IE11, и они снова стали красивыми и четкими в IE10 ... Кто-нибудь еще сталкивался с этим?

Я включил снимок экрана, показывающий изображения в разных браузерах.

IE 11 размытые фоновые изображения

Вот ссылка на jsfiddle, у меня больше нет IE11 для тестирования, но это та же разметка и CSS, которые я использую: http://jsfiddle.net/3g52E/


person wf4    schedule 20.11.2013    source источник
comment
Вы проверили настройки ускоренной графики в IE11?   -  person Andrea Ligios    schedule 20.11.2013
comment
Также может быть вызвано «Интеллектуальным дизерингом изображения», который можно включить в настройках.   -  person naththedeveloper    schedule 20.11.2013
comment
Я совершенно уверен, что это будет связано с настройками рендеринга браузера, но просто для двойной проверки, можете ли вы связать нас с тем, где находятся эти фоновые изображения?   -  person ajfstuart    schedule 20.11.2013
comment
Я действительно надеюсь, что это не настройка. Я создам скрипт или что-то с разметкой и фоновым изображением - это может занять у меня минут 20 или около того, я отредактирую свой пост со ссылкой.   -  person wf4    schedule 20.11.2013
comment
И какая система, Windows 7 или Windows 8? Я предполагаю, что это может быть связано с news.softpedia.com/news/   -  person Andrea Ligios    schedule 20.11.2013
comment
Я использую Win7 x64. Возможно, это может быть связано, хотя предполагается, что это вызвано ошибкой в ​​рендеринге шрифта Clear Type.   -  person wf4    schedule 20.11.2013
comment
В Windows 8.1 x64 с IE 11.0.9600 и обновлением 11.0.1. Ускоренный рендеринг графики (не программный). Он выглядит так же, как и во всех браузерах на моей машине. Я знаю, что это не очень поможет вам в этом случае, но, похоже, все в порядке, это совсем не размыто.   -  person Code Uniquely    schedule 20.11.2013
comment
Является ли это серьезной проблемой юзабилити? Если нет, то вам должно быть все равно.   -  person bjb568    schedule 21.11.2013
comment
Еще одна глупая проблема с интернетом, решенная без использования Internet Explorer   -  person David Hariri    schedule 21.11.2013
comment
Я использую win8.1x64 и IE11.09600 (обновление 11.01). Я также вижу изображения размытыми (хотя и не такими размытыми, как в примере). Я попытался изменить параметр ускоренной графики (и перезапустить программу), но это не дало никакого эффекта. Просто хотел подтвердить проблему.   -  person Hal Carleton    schedule 24.11.2013
comment
Если я открою файл изображения i.imgur.com/DauuVHW.png, размытия не будет.   -  person Hal Carleton    schedule 24.11.2013
comment
@moss, это правильно, эта проблема возникает только тогда, когда изображение используется как background-image. У меня нет ответа, но это может быть проблема с позиционированием, это почти похоже на то, что он не фиксирует положение фона до ближайшего пикселя...   -  person wf4    schedule 24.11.2013
comment
Просто совет: что произойдет, если вы вернете ie11 в режим, совместимый с ie10?   -  person peterh    schedule 25.11.2013
comment
@Maxx при использовании IE11 в режиме IE10 фоновые изображения по-прежнему размыты. Еще один момент, который следует упомянуть, в Fiddle выше, вы можете избавиться от размытия, ОЧЕНЬ слегка изменив размер окна. Это может быть какая-то проблема с масштабом/пикселем?   -  person wf4    schedule 27.11.2013


Ответы (3)


Ну, я вижу, что вызывает эту проблему. Это border-radius вашего ._ui.

Теперь я не могу сказать вам, почему это происходит.
Однако, если вы хотите исправить это, вы можете использовать или не использовать border-radius или, что, на мой взгляд, является лучшим решением, использовать тег <img> для создания фона.

Использовать элемент изображения

<img src="http://i.imgur.com/DauuVHW.png" />

Теперь, чтобы обрезать изображение, вы можете просто использовать position: relative;, position: absolute; и overflow: hidden;:

.block1 > div
{
    position: relative;
    overflow: hidden;
}

Это добавит свойства на ._ui _bre и ._ui _com.

Где основные свойства изображения:

img
{
    position: absolute;
    left: 2px;
}

Теперь вы можете просто использовать верхнее и нижнее смещение для позиционирования изображения. Где, как вы использовали background-position раньше:

._bre._ui img
{
    top: -68px;
}

._com._ui img
{
    top: -24px;
}

Таким образом, ваше изображение больше не является частью элемента, который имеет border-radius, что и вызвало эту проблему. Теперь у них более четкое разделение; 2 разных элемента.

jsFiddle

person nkmol    schedule 27.11.2013
comment
Я бы НИКОГДА даже не подумал, что это могло быть связано с border-radius, особенно потому, что это свойство поддерживалось и применялось бы в IE9 и IE10. Большое спасибо за ваш подробный ответ. - person wf4; 27.11.2013
comment
Это действительно странно, да. Я не мог найти никакой связи, почему это произошло, так что, вероятно, неизвестная ошибка. Но рад, что смог найти быстрое решение для вас! :) - person nkmol; 27.11.2013

Вероятно, в IE 11 есть более элегантный способ исправить размытые изображения.

В нашем приложении у нас есть иконки на кнопках со скругленными углами. Удаление закругленных углов или использование ‹img› для значков не были вариантами.

Однако у нас сработала «классическая» оптимизация изображений для дисплеев Retina, то есть сохранение фоновых изображений кнопок с вдвое большим разрешением, а затем указание исходного размера в background-size.

Отлично смотрится в IE 11 и на дисплеях Retina.

person Feodor Fitsner    schedule 27.11.2013
comment
Спасибо за ответ - я собираюсь масштабировать файл изображения до 144 точек на дюйм (в настоящее время 72) и добавлю новую ссылку на эту скрипку, чтобы показать результаты. :-) - person wf4; 28.11.2013
comment
хорошо, поэтому я воссоздал (часть) изображение, которое я использовал в скрипке, и обновил размер фона. Я должен признать, что он выглядит нормально, он не идеален по пикселям, но определенно лучше, чем первое изображение. jsfiddle.net/3g52E/5 - person wf4; 02.12.2013

В соответствии с этим: Как написать взлом CSS для IE 11?

Я добавил этот код в свой CSS:

@media all and (-ms-high-contrast:none){
  *::-ms-backdrop, .my_elements_with_border_radius { border-radius: 0 } 
}

С этим взломом браузера границы больше не круглые в IE11, но, по крайней мере, фоновые изображения больше не размыты. В любых других браузерах они по-прежнему круглые.

person user2718671    schedule 23.04.2015