Пардон описАлся>> Я еще окончательно не разобрался, но чтобы сделать картинку частично >> прозрачной нужно сделать маску в формате PNG с альфаканалом, и в IMG >> содержащем непрозрачную картинку в стиле указать AlpahLoader в SRC > Конечно АphaImageLoader >> которого сослаться на маску. >
Посмотрел... думаю можно обойтись проще:
1. есть png-изображение.
2. есть вызов типа: <img src="image.png" width="100" height="100" />
3. к нему добавляется стиль: filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='image.png');
4. На данный этап получается так, что накладываются 2 изображения друг на друга, причем одно из них (то, что в <img src=""/>) без альфа канала (закрашено серым)
5. Делаем перехват события load и если это WinMSIE и версия выше 5.5 (саму проверку не делал) заменяем src на прозрачный гиф: onLoad="if (winMSIE55) this.src = 'transparent.gif'"
6. Все показывается и работает. Проблема в том, что браузеры, которые не умеют показывать png правильно (включая эксплорер ниже 5.5) будут... показывать его неправильно ;-)
Учтите, что маковский эксплорер и Opera по умолчанию показывает png24 просто превосходно, так что проверку не нужно делать на наличие document.all!
Статейку забацать? ;-) |