4X_Pro
Руководитель Проекта
Настоящий Компьютерщик
 Откуда: Москва Всего сообщений: 3031 Рейтинг пользователя: 75 Дата регистрации на форуме: 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. Названия фильтров должны писаться именно так, как они написаны здесь.
--- Каждый человек всегда может найти, чем он может быть полезен окружающим. Проблема только в одном: слишком многие не хотят это искать.
|