4X_Pro
Руководитель Проекта
Настоящий Компьютерщик
Откуда: Москва Всего сообщений: 2994 Рейтинг пользователя: 79 Дата регистрации на форуме: 29 сен. 2001
|
Профиль | Сообщить модератору | ИгнорироватьNEW! Сообщение отправлено: 7 августа 2007 22:32
MSIE 6.0, как известно, не поддерживает свойство прозрачности opacity. Однако добиться прозрачности в нем все же возможно с помощью двух специальных фильтров: Alpha и AlphaImageLoader. Фильтр Alpha позволяет отображать изображения с определенной степенью прозрачности (и применим, насколько я понимаю, только к IMG-тегу), фильтр AlphaImageLoader — загружать фоновое изображение (точнее, располагаемое между фоном и передним планом).
Использование выглядит следующим образом:
в CSS для нормальных броузеров пишем .trans { background: url('images/trans.png'); }
или, если нам достаточно равномерной прозрачности .trans { background: цвет; opactity: значение }
Здесь значение — степень непрозрачности от 0.0 до 1.0. Такой подход позволяет сэкономить в нормальных броузерах одно обращение к серверу.
Для отображения прозрачного фона в Internet Explorer в head-части HTML-страницы пишем <!--[if lt ie 7.0]>
<style type="text/css">
.trans { background: none; filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/trans.png', SizingMethod="scale" )}
</style>-->
Здесь SizingMethod="scale" растягивает рисунок до размеров элемента. Если этот параметр не указать, элемент сожмется до размеров рисунка, что в нашем случае нежелательно.
Таким образом, мы создали класс .trans, применение которого к блочным элементам будет делать их полупрозрачными. Файл images/trans.png в простейшем случае должен быть пикселем 1x1
На мой взгляд, гораздо удобнее иметь полупрозрачность в виде отдельного класса, и указывать при необходимости два класса для элемента (напомню, что делается это так: class="class1 trans", где class1 — имя другого класса), чем приписывать ее ко всем классам элементов, которые ее используют.
Оффтопик: Также хотелось бы заметить, что в Сети существует статья (причем растиражированная в огромном количестве экземпляров) с опечатками в названии фильтра AlphaImageLoader и параметра SizingMethod. Названия фильтров должны писаться именно так, как они написаны здесь.
--- Каждый человек всегда может найти, чем он может быть полезен окружающим. Проблема только в одном: слишком многие не хотят это искать.
|