Размытые фоновые изображения после обновления до IE11
Итак, сегодня утром я получил автоматическое обновление до IE 11, после проверки моих глаз кажется, что некоторые из моих фоновых изображений размыты.
Я должен был проверить, что это не мое изображение вызывает проблему, поэтому после запуска Chrome они снова были приятными и четкими... Я совершенно сбит с толку.
теперь я удалил обновление IE11, и они снова приятные и четкие в IE10... Кто-нибудь еще сталкивался с этим?
Я включил снимок экрана отображение изображений в разных браузерах.
вот ссылка на jsfiddle
, У меня больше нет IE11 для тестирования, но его та же разметка и CSS, которые я использую:http://jsfiddle.net/3g52E/
3 ответов
Ну, я вижу, что вызывает эту проблему. Это border-radius
вашего ._ui
.
сейчас я не могу сказать вам почему это произойдет.
однако, если вы хотите исправить это, вы можете или не использовать border-radius
или, что является лучшим решением, на мой взгляд, используйте <img>
тег для создания фона.
использовать элемент изображения
<img src="http://i.imgur.com/DauuVHW.png" />
теперь, чтобы отрезать ваше изображение, вы можете просто использовать position: relative;
, position: absolute;
и a 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
вероятно, есть более элегантный способ исправить размытые изображения в IE 11.
в нашем приложении у нас есть значки на кнопках с круглыми углами. Удаление круглых углов или использование для значков не было опций.
однако для нас сработала" классическая " оптимизация изображений для дисплеев retina, т. е. сохранение фоновых изображений с вдвое большим разрешением, а затем указание исходного размера в фон-в размере.
отлично смотрится в IE 11 и на дисплеях retina.
согласно этому:Как написать CSS hack для IE 11?
Я добавил этот код в свой CSS:
@media all and (-ms-high-contrast:none){
*::-ms-backdrop, .my_elements_with_border_radius { border-radius: 0 }
}
С помощью этого браузера взлома границы больше не круглые в IE11, но, по крайней мере, фоновые изображения больше не размыты. В любых других браузерах они по-прежнему круглые.