Пятница , 29 Март 2024
ДомойПубликацииЕщё раз про проблемы png32 в ie6

Ещё раз про проблемы png32 в ie6

Какие-только «хаки и кряки» не предлагают мужественные веб-девелоперы, дабы совершить священный fix for ie6. порой доходит по абсурда: подключение соответствующего стиля через условные комментарии (что, имхо, приемлимо), включающего функциональность на все случаи жизни + непременные экспрешны. так и хочется сказать этим замученным девелоперам: господа, будьте попроще.

1

На самом деле, если требуется вставить фоновую прозрачную truecolor png32, нет нужды не то, что в экспрешнах, но и в сколь-либо хитрых ухищрениях. достаточно значий того, КАК ИМЕННО браузеры интрепретируют css-свойства. а интерпретируют они его весьма забавным способом. например ff, встретив 2 одинаковых определения подряд, будет использовать первое, а ie — последнее. всё ещё непонятно? smile

вот смотрите, есть такой код:


div.bg {
background:#ccc url("png32.png") norepeat;
}

В ie6 это превратится в безобразие, в котором прозрачный фон будет заменён на какой-нибудь серый цвет. теперь, чтобы исправить ситуацию, можно использовать «приём в лоб», через экспрешны, а можно пойти и окольными путями, благодаря чему срежем дорогу и сильно упростим себе жизнь. подключая через условный комментарий ie6.css с «особым» кодом, сможем здо́рово упростить себе жизнь. причём, код будет работать вне зависимости от того, включён js или нет (да плюс ко всему и страничка без проблем пройдёт тест валидатора). итак, требуемый код:


div.bg {
background-image:none;
filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src="png32.png", sizingMethod="crop");
}

всё просто, понятно, без всякого гемора (если не понятно, см. здесь).

Рейтинг: 0

Автор публикации

2 070
не в сети 11 месяцев

x64 (aka andi)

Комментарии: 2893Публикации: 405Регистрация: 02-04-2009
Так себеНеплохоХорошоЗамечательноСупер! (Оценок пока нет)
Загрузка...

2 комментария

  1. background-image:none; это зачем?

    Рейтинг: 0
  2. на самом деле, всё очень просто: без этого «хака» эксплорер будет показывать картинку с серым фоном, чего, собственно, и нужно избежать.
    на данный момент это, в общем-то, не актуально, т. к. пользователями ie6 можно пренебречь.
    все проблемы, создаваемые данным браузером, не стоят усилий (и сумм), на него затрачиваемым.

    Рейтинг: 0

Оставить комментарий

Политика конфиденциальности

Наш сайт использует файлы cookies, чтобы улучшить работу и повысить эффективность сайта. Продолжая работу с сайтом, вы соглашаетесь с использованием нами cookies и политикой конфиденциальности.

Принять