»Статьи - Веб-Дизайн - CSS/ изменение стилей в зависимости от "глубины цвета"  
»http://www.artwedis.com/page.php?id=350  

Автор: Отправлено: 04.11.2008 09:45
На данный момент я знаю только один случай, когда определение "глубины" цвета может сыграть полезную нам роль - развлечение с фильтром Альфа и использование его для создания градиентных заливок. Напомню - фильтр Альфа позволяет установить уровень прозрачности для обьектов в броузере Эксплорер, устанавливая градиентную прозрачность для одной ячейки мы получаем плавный переход от цвета ячейки к цвету фона под ней. При некотором старании можно направить изменение под нужным нам углом - по диагонали, например. Один минус - вся полнота эффекта проявляется только на мониторе с 32битами на пиксел. Такие мониторы еще не у всех есть, а на мониторах с меньшей глубиной цвета наш градиент преобритает очень неприятную "полосатость". В Нетскейпе данный фильтр нам проблем не создает - он просто отсутствует.


Определить глубину цвета, установленного на мониторе мы можем через свойство screen.colorDepth.
<br />
<br />
<!-- <br />
if(screen.colorDepth <32)<br />
{<br />
document.writeln('\n'+ <br />
'#ff {color: red}\n'+<br />
'')<br />
}<br />
else<br />
{<br />
document.writeln('\n'+ <br />
'#ff {color: blue}\n'+<br />
'')<br />
}<br />
//--> <br />
<br />
Все очень прото - если глубина цвета меньше 32бит на пиксел, мы получаем одно описание стиля, если 32, то другое. Проверил и в Эксплорере и в Нетскейпах - все вполне надежно работает, можно использовать. В данном примере обьект с id=ff - наш подопытный. В зависимости от глубины цвета он окрашивается либо в красный, либо в синий цвет. Осталось только вставить в скрипт описание фильтра, и мы получаем эффект градиентной заливки в Эксплорере без использования графических файлов. При "неблагоприятных" условиях используется альтернативное описание стиля обьекта.