Полупрозрачный PNG-24 для Explorer
Нашёл интересное решение для отображения png файлов с альфа каналами в эксплорере:
<img src="i/alpha.png" width=100 height=100 style="BEHAVIOR: url(i/png.htc);">
png.htc:
<public:component>
<public:attach event="onpropertychange" onevent="propertyChanged()" />
<script>
var supported = /MSIE (5\.5)|[6789]/.test(navigator.userAgent) && navigator.platform == "Win32";
var realSrc;
var blankSrc = "i/1x1_tr.gif";
if (supported) fixImage();
function propertyChanged() {
if (!supported) return;
var pName = event.propertyName;
if (pName != "src") return;
// if not set to blank
if ( ! new RegExp(blankSrc).test(src))
fixImage();
};
function fixImage() {
// get src
var src = element.src;
// check for real change
if (src == realSrc) {
element.src = blankSrc;
return;
}
if ( ! new RegExp(blankSrc).test(src)) {
// backup old src
realSrc = src;
}
// test for png
if ( /\.png$/.test( realSrc.toLowerCase() ) ) {
// set blank image
element.src = blankSrc;
// set filter
element.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" +
src + "',sizingMethod='scale')";
}
else {
// remove filter
element.runtimeStyle.filter = "";
}
}
</script>
</public:component>
Скажите, а есть ли возможность повторить данный трюк для картинок PNG, но в том случае, когда они находятся в качестве фона?
Есть ли у фоновой картинки свойство-аналог "BEHAVIOR"?
Для полноты раскрытия вопроса проблемы PNG-картинок в IE, предлагаю рассмотреть фоновые картинки.
Алексей В. Иванов[досье] Ничего подобного, данное решение не работает с фоновыми картинками.
Я предложил довести решение до конца.
Может кто-то знает ответ?
Кстати, данный фрагмент кода позаимствован с сайта artlebedev.ru/best, по крайней мере там эти парни используют точно такой-же, слово-в-слово.
Ничего подобного, данное решение не работает с фоновыми картинками.Именно.
Мне казалось Вам ответили в другом посте. Если это не так, прошу прощения.
Я разобрался, как можно делать прозрачные картинки в фоне.
Привожу ссылку, где про это можно почитать:
http://www.alistapart.com/articles/pngopacity/
К статье прилагаются работающие примеры, очень толково.
Есть одно НО - когда ставишь png в фон, с помощью метода, указанного в статье, картинка растягивается на размер объекта, в чей фон она ставиться. Т.е. если ячейка таблицы 90 * 110, а картинка 100 * 100, то картинка будет искажена 90 * 110.
lavan[досье] Может Вы сможете адаптировать пример, чтобы можно было ставить повторяющуюся картинку в фоне?
![[logo]](/site/images/logo.jpg)
