Какие-только «хаки и кряки» не предлагают мужественные веб-девелоперы, дабы совершить священный fix for ie6. порой доходит по абсурда: подключение соответствующего стиля через условные комментарии (что, имхо, приемлимо), включающего функциональность на все случаи жизни + непременные экспрешны. так и хочется сказать этим замученным девелоперам: господа, будьте попроще.
На самом деле, если требуется вставить фоновую прозрачную truecolor png32, нет нужды не то, что в экспрешнах, но и в сколь-либо хитрых ухищрениях. достаточно значий того, КАК ИМЕННО браузеры интрепретируют css-свойства. а интерпретируют они его весьма забавным способом. например ff, встретив 2 одинаковых определения подряд, будет использовать первое, а ie — последнее. всё ещё непонятно?
вот смотрите, есть такой код:
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");
}
всё просто, понятно, без всякого гемора (если не понятно, см. здесь).
днём интернета
шоколадкой для работы мозга
коробочкой ароматного чая для бодрости
продлением хостинга на +1 месяц
background-image:none; это зачем?
на самом деле, всё очень просто: без этого «хака» эксплорер будет показывать картинку с серым фоном, чего, собственно, и нужно избежать.
на данный момент это, в общем-то, не актуально, т. к. пользователями ie6 можно пренебречь.
все проблемы, создаваемые данным браузером, не стоят усилий (и сумм), на него затрачиваемым.