Объединенный Открытый Проект - Сайт для Настоящих Компьютерщиков

Объединенный Открытый Проект

Сайт для Настоящих Компьютерщиков

; Логин:
  Пароль:
Обычный
Безопасный
Запомнить пользователя



Зарегистрироваться
Забыли пароль?
 
 
 
Объединенный Открытый Проект »   Дизайн, HTML, CSS, JavaScript »   Прозрачность слоев DIV в Internet Explorer
RSS

Прозрачность слоев DIV в Internet Explorer

Текущий рейтинг темы: Нет

<<Назад  Вперед>>Модератор: GramПечать
 
4X_Pro
Руководитель Проекта
Настоящий Компьютерщик
4X_Pro
Откуда: Москва
Всего сообщений: 2994
Рейтинг пользователя: 79





Дата регистрации на форуме:
29 сен. 2001
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. Названия фильтров должны писаться именно так, как они написаны здесь.

---
Каждый человек всегда может найти, чем он может быть полезен окружающим. Проблема только в одном: слишком многие не хотят это искать.
<<Назад  Вперед>>Модератор: GramПечать
Объединенный Открытый Проект »   Дизайн, HTML, CSS, JavaScript »   Прозрачность слоев DIV в Internet Explorer
RSS
Быстрый переход в раздел:


Время выполнения скрипта: 0.0218. Количество выполненных запросов: 17, время выполнения запросов 0.0117