Масштабирование изображений в IE - PullRequest
3 голосов
/ 16 мая 2009

Моя страница содержит изображение, как в примере ниже. Ширина изображения зависит от ширины браузера, а высота изменяется автоматически (что-то вроде).

Это изображение выглядит хорошо после изменения размера во всех браузерах, кроме IE (я тестировал в IE7 и IE6). В IE изображение выглядит некрасиво. Некоторые детали толще, чем должны быть, а некоторые - тоньше.

альтернативный текст http://img39.imageshack.us/img39/7202/88017917.png

Я почти уверен, что это связано с тем, что IE не использует сглаживание. Но мне интересно, как решить эту неприятную проблему?


У меня нет ie7, но этот код должен нормально работать. Но как это исправить для ie6?

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
  <style type="text/css">
    img { -ms-interpolation-mode:bicubic; }
  </style>
</head>
<body>
  <div style="width: 50%;">
    <img src="pp.jpg" width="100%">
  </div>
</body>
</html>

От разработчиков flickr:

IE 6 является более рискованным предложением, но может показать улучшенное изменение размера изображения, когда CSS-фильтр AlphaImageLoader применяется, тот же фильтр, обычно используемый для правильного отображения PNG с альфа-прозрачность Например, Фильтр: ProgID: DXImageTransform.Microsoft.AlphaImageLoader (SRC = '/ путь / к / image.jpg', sizingMethod = 'шкала') ;. Пока есть нет прозрачности, чтобы применить здесь, примененный метод изменения размера дает более качественный результат.

Я пока не могу заставить его работать, на самом деле я никогда не использовал фильтры. Может кто-нибудь может дать мне рабочий код?

Ответы [ 2 ]

5 голосов
/ 16 мая 2009

Джоэл Спольски недавно опубликовал решение этой проблемы в этом блоге: http://www.joelonsoftware.com/items/2008/12/22.html

Добавить к подписке на CSS:

img { -ms-interpolation-mode:bicubic; }

Лучшее решение - использовать изображения, которые не нужно масштабировать браузером, но CSS Joel предлагает значительное улучшение.

1 голос
/ 16 мая 2009

Unstoppable Robot Ninja содержит статью с дополнительной информацией и кодом для работы в IE6 и IE7.

Проблема не в IE, а в платформе. Firefox, Safari и т. Д. Используют собственный механизм рендеринга, который масштабируется намного плавнее, чем родное масштабирование Windows.

Я бы посоветовал добавить объявления CSS или код JavaScript в Условные комментарии , чтобы браузеры, не использующие IE, не загружали дополнительный код или не выполняли другой запрос. Это также делает ваш CSS чистым и действительным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...